1
0
Files
misc-containers/jump-box/startup.bash
Garrett Mills 47c0735345
All checks were successful
ci/woodpecker/manual/woodpecker Pipeline was successful
Fix home dir permissions on first run for jump-box
2026-09-26 13:59:14 -05:00

28 lines
1.0 KiB
Bash

#!/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"
# --no-create-home since we assume the home dir will be mounted in the container
adduser --gid "$TARGET_GID" --uid "$TARGET_UID" --no-create-home "$TARGET_USER"
touch /var/log/container-stdout.log
chown "$TARGET_USER":"$TARGET_USER" /var/log/container-stdout.log
# This only really matters for the first-run:
chown "$TARGET_USER":"$TARGET_USER" "/home/$TARGET_USER"
echo "Ready."
tail -f /var/log/container-stdout.log &
/usr/sbin/sshd -D