#!/bin/sh ### BEGIN INIT INFO # Provides: regenerate_ssh_host_keys # Required-Start: # Required-Stop: # Default-Start: 2 # Default-Stop: # Short-Description: Regenerate ssh host keys # Description: ### END INIT INFO . /lib/lsb/init-functions set -e case "$1" in start) log_daemon_msg "Regenerating ssh host keys (in background)" nohup sh -c "if [ -e /dev/hwrng ]; then dd if=/dev/hwrng of=/dev/urandom count=1 bs=4096 fi; \ yes | ssh-keygen -q -N '' -t dsa -f /etc/ssh/ssh_host_dsa_key && \ yes | ssh-keygen -q -N '' -t rsa -f /etc/ssh/ssh_host_rsa_key && \ yes | ssh-keygen -q -N '' -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key && \ yes | ssh-keygen -q -N '' -t ed25519 -f /etc/ssh/ssh_host_ed25519_key && \ systemctl enable ssh && sync && \ rm /etc/init.d/regenerate_ssh_host_keys && \ update-rc.d regenerate_ssh_host_keys remove && \ printf '\nfinished\n' && systemctl start ssh" > /var/log/regen_ssh_keys.log 2>&1 & log_end_msg $? ;; *) echo "Usage: $0 start" >&2 exit 3 ;; esac