@@ -13,21 +13,25 @@ if [ "$PHABRICATOR_HOST_KEYS_PATH" == "" ]; then
1313 exit 0
1414fi
1515
16+ # In case if not already present,
17+ # avoid 'Missing privilege separation directory: /run/sshd' error
18+ mkdir -p /run/sshd
19+
1620# Generate SSH host keys if they aren't already present
1721if [ ! -f /baked ]; then
1822 if [ -d $PHABRICATOR_HOST_KEYS_PATH ]; then
1923 cp -v $PHABRICATOR_HOST_KEYS_PATH /* /etc/ssh/
2024 # ensure correct file modes of private keys
2125 chmod 600 /etc/ssh/ssh_host_{dsa_,ecdsa_,ed25519_,,rsa_}key
2226 fi
23- # generate missing keys --> sshd needs sometimes more keys for newer protocols
24- ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N ' ' -t rsa
25- ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N ' ' -t dsa
26- ssh-keygen -f /etc/ssh/ssh_host_dsa_key - N ' ' -t ed25519
27-
28- mkdir -pv $PHABRICATOR_HOST_KEYS_PATH
29- # copy only when the file does not exist
30- cp -vn /etc/ssh/ssh_host_{dsa_,ecdsa_,ed25519_,,rsa_}key{,.pub} $PHABRICATOR_HOST_KEYS_PATH /
27+ # generate missing keys --> sshd needs sometimes more keys for newer protocols
28+ if [ ! -f /etc/ ssh/ssh_host_rsa_key ] ; then ssh -keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N ' ' ; fi
29+ if [ ! -f /etc/ ssh/ssh_host_dsa_key ] ; then ssh -keygen -f /etc/ssh/ssh_host_dsa_key -t dsa -N ' ' ; fi
30+ if [ ! -f /etc/ ssh/ssh_host_ed25519_key ] ; then ssh -keygen -f /etc/ssh/ssh_host_ed25519_key -t ed25519 - N ' ' ; fi
31+
32+ mkdir -pv $PHABRICATOR_HOST_KEYS_PATH
33+ # copy only when the file does not exist
34+ cp -vn /etc/ssh/ssh_host_{dsa_,ecdsa_,ed25519_,,rsa_}key{,.pub} $PHABRICATOR_HOST_KEYS_PATH /
3135fi
3236
3337if [ ! -f /is-baking ]; then
0 commit comments