aboutsummaryrefslogtreecommitdiff
path: root/entrypoint.bash
diff options
context:
space:
mode:
authorAlex Pooley (@zuedev) <zuedev@gmail.com>2026-05-07 23:43:08 +0100
committerAlex Pooley (@zuedev) <zuedev@gmail.com>2026-05-07 23:43:08 +0100
commit56f153db9c87c00ce85d6899b4038b7f0b36eb9c (patch)
treead8d52972b4cc89189c155ec0a485bf2c9bd5fbb /entrypoint.bash
parent73d50af19ed07afc1a2fa02020d0b4ea167160da (diff)
downloadgit.zue.dev-56f153db9c87c00ce85d6899b4038b7f0b36eb9c.tar
git.zue.dev-56f153db9c87c00ce85d6899b4038b7f0b36eb9c.tar.gz
git.zue.dev-56f153db9c87c00ce85d6899b4038b7f0b36eb9c.tar.bz2
git.zue.dev-56f153db9c87c00ce85d6899b4038b7f0b36eb9c.tar.xz
git.zue.dev-56f153db9c87c00ce85d6899b4038b7f0b36eb9c.zip
Enhance SSH configuration and key management in Docker setup by persisting keys to avoid "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" issues
Diffstat (limited to 'entrypoint.bash')
-rw-r--r--entrypoint.bash11
1 files changed, 11 insertions, 0 deletions
diff --git a/entrypoint.bash b/entrypoint.bash
index f3cd66f..d2f7167 100644
--- a/entrypoint.bash
+++ b/entrypoint.bash
@@ -28,6 +28,17 @@ chown -R git:git /repositories
echo "Starting cron service..."
cron
+# Generate SSH host keys into the persistent volume if they don't exist yet.
+# This keeps keys stable across container rebuilds.
+mkdir -p /run/ssh
+chmod 700 /run/ssh
+if [ ! -f /run/ssh/ssh_host_ed25519_key ]; then
+ echo "Generating SSH host keys..."
+ ssh-keygen -q -N "" -t rsa -b 4096 -f /run/ssh/ssh_host_rsa_key
+ ssh-keygen -q -N "" -t ecdsa -f /run/ssh/ssh_host_ecdsa_key
+ ssh-keygen -q -N "" -t ed25519 -f /run/ssh/ssh_host_ed25519_key
+fi
+
# Start the SSH service in the background
echo "Starting SSH service..."
/usr/sbin/sshd -D -E /var/log/sshd.log &