X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=sshd-keygen;h=1353fc1f593251ff802e57763742094bdc2ea147;hb=HEAD;hp=1f2b320710d7b48238878e0aa7c7044ca983468f;hpb=3eb72854a39c648838e1a459cadb017f76dc2fc7;p=packages%2Fopenssh.git diff --git a/sshd-keygen b/sshd-keygen old mode 100644 new mode 100755 index 1f2b320..1353fc1 --- a/sshd-keygen +++ b/sshd-keygen @@ -3,30 +3,17 @@ # Get service config [ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd +# generate new key with empty password if it does not exist +ssh_gen_key() { + local type="$1" keyfile="$2" + + test -s $keyfile && return + + /usr/bin/ssh-keygen -t $type -f $keyfile -N '' >&2 + chmod 600 $keyfile + [ ! -x /sbin/restorecon ] || /sbin/restorecon $keyfile +} + # generate new keys with empty passwords if they do not exist -if [ ! -f /etc/ssh/ssh_host_key -o ! -s /etc/ssh/ssh_host_key ]; then - /usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N '' >&2 - chmod 600 /etc/ssh/ssh_host_key - [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_key -fi -if [ ! -f /etc/ssh/ssh_host_rsa_key -o ! -s /etc/ssh/ssh_host_rsa_key ]; then - /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' >&2 - chmod 600 /etc/ssh/ssh_host_rsa_key - [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_rsa_key -fi -if [ ! -f /etc/ssh/ssh_host_dsa_key -o ! -s /etc/ssh/ssh_host_dsa_key ]; then - /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' >&2 - chmod 600 /etc/ssh/ssh_host_dsa_key - [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_dsa_key -fi -if [ ! -f /etc/ssh/ssh_host_ecdsa_key -o ! -s /etc/ssh/ssh_host_ecdsa_key ]; then - /usr/bin/ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' >&2 - chmod 600 /etc/ssh/ssh_host_ecdsa_key - [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_ecdsa_key -fi # ecdsa -if [ ! -f /etc/ssh/ssh_host_ed25519_key -o ! -s /etc/ssh/ssh_host_ed25519_key ]; then - /usr/bin/ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N '' >&2 - chmod 600 /etc/ssh/ssh_host_ed25519_key - [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_ed25519_key -fi # ed25519 -exit 0 +ssh_gen_key ed25519 /etc/ssh/ssh_host_ed25519_key +ssh_gen_key rsa /etc/ssh/ssh_host_rsa_key