diff --git a/jump-box/startup.bash b/jump-box/startup.bash index 73f02d6..c3bbb68 100644 --- a/jump-box/startup.bash +++ b/jump-box/startup.bash @@ -1,5 +1,15 @@ #!/bin/bash -e +# Write an sshd_config.d drop-in with a HostKey line for each key in /etc/ssh/keys, +# then exec any given command (e.g. /usr/sbin/sshd -D -e). +set -euo pipefail +shopt -s nullglob +keys=( /etc/ssh/keys/ssh_host_*_key ) +(( ${#keys[@]} )) || { echo "no host keys in /etc/ssh/keys" >&2; exit 1; } +mkdir -p "$(dirname "/etc/ssh/sshd_config.d/10-hostkeys.conf")" +printf 'HostKey %s\n' "${keys[@]}" > "/etc/ssh/sshd_config.d/10-hostkeys.conf" + +# Setup the target user and their group echo "Setting up target user ${TARGET_USER} (uid=${TARGET_UID}, gid=${TARGET_GID})..." groupadd --gid "$TARGET_GID" "$TARGET_USER"