From bf698d28e4b649036813964cb9f617c5cbbf231b Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Tue, 3 May 2016 22:49:59 -0700 Subject: [PATCH] preserve ssh host keys across updates fixes #2 --- Dockerfile | 1 + start.sh | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/Dockerfile b/Dockerfile index 36de423..9405c2b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,7 @@ FROM cloudron/base:0.8.0 RUN apt-get update && \ apt-get install -y openssh-server && \ + rm -rf /etc/ssh_host_* && \ rm -r /var/cache/apt /var/lib/apt/lists ADD supervisor/ /etc/supervisor/conf.d/ diff --git a/start.sh b/start.sh index e1cac5c..407a685 100755 --- a/start.sh +++ b/start.sh @@ -29,8 +29,24 @@ if [[ -z "${SSH_PORT:-}" ]]; then disable_ssh="true" fi +if [[ ! -f "/app/data/sshd/ssh_host_ed25519_key" ]]; then + echo "Generating ssh host keys" + mkdir -p /app/data/sshd + ssh-keygen -qt rsa1 -N '' -f /app/data/sshd/ssh_host_key + ssh-keygen -qt rsa -N '' -f /app/data/sshd/ssh_host_rsa_key + ssh-keygen -qt dsa -N '' -f /app/data/sshd/ssh_host_dsa_key + ssh-keygen -qt ecdsa -N '' -f /app/data/sshd/ssh_host_ecdsa_key + ssh-keygen -qt ed25519 -N '' -f /app/data/sshd/ssh_host_ed25519_key +else + echo "Reusing existing host keys" +fi + +chmod 0600 /app/data/sshd/*_key +chmod 0644 /app/data/sshd/*.pub + sed -e "s/^Port .*/Port ${SSH_PORT}/" \ -e "s/^#ListenAddress .*/ListenAddress 0.0.0.0/" \ + -e "s,^HostKey /etc/ssh/,HostKey /app/data/sshd/," \ /etc/ssh/sshd_config > /run/gogs/sshd_config sed -e "s/##DOMAIN/${APP_DOMAIN}/g" \