]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
debian: Support ssh host keys regeneration
authorStéphane Graber <stgraber@ubuntu.com>
Tue, 14 Jan 2014 23:11:29 +0000 (18:11 -0500)
committerStéphane Graber <stgraber@ubuntu.com>
Wed, 15 Jan 2014 15:04:30 +0000 (10:04 -0500)
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
templates/lxc-debian.in

index d6f07b9980099a521154392a9ba947578b895bb9..f399c0b1efc3e4471a63fea319cb9bff5e047003 100644 (file)
@@ -93,6 +93,30 @@ EOF
     chroot $rootfs /usr/sbin/update-rc.d -f hwclock.sh remove
     chroot $rootfs /usr/sbin/update-rc.d -f hwclockfirst.sh remove
 
+    # generate new SSH keys
+    if [ -x $rootfs/var/lib/dpkg/info/openssh-server.postinst ]; then
+        cat > $rootfs/usr/sbin/policy-rc.d << EOF
+#!/bin/sh
+exit 101
+EOF
+        chmod +x $rootfs/usr/sbin/policy-rc.d
+
+        if [ -f $rootfs/etc/init/ssh.conf ]; then
+            mv $rootfs/etc/init/ssh.conf $rootfs/etc/init/ssh.conf.disabled
+        fi
+
+        rm -f $rootfs/etc/ssh/ssh_host_*key*
+
+        DPKG_MAINTSCRIPT_PACKAGE=openssh DPKG_MAINTSCRIPT_NAME=postinst chroot $rootfs /var/lib/dpkg/info/openssh-server.postinst configure
+        sed -i "s/root@$(hostname)/root@$hostname/g" $rootfs/etc/ssh/ssh_host_*.pub
+
+        if [ -f "$rootfs/etc/init/ssh.conf.disabled" ]; then
+            mv $rootfs/etc/init/ssh.conf.disabled $rootfs/etc/init/ssh.conf
+        fi
+
+        rm -f $rootfs/usr/sbin/policy-rc.d
+    fi
+
     # set initial timezone as on host
     if [ -f /etc/timezone ]; then
         cat /etc/timezone > $rootfs/etc/timezone