X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=sshd-keygen;h=a09061427521f89b8522f48a7a7af92800395e8b;hb=2c7a366207fd4af1254e557b8be34a866feb4f14;hp=94ac509de8c4b738cb199f3b665c8914db154fca;hpb=1f912afefdf3574f35453af04dc3fb2762aee605;p=packages%2Fopenssh.git diff --git a/sshd-keygen b/sshd-keygen old mode 100644 new mode 100755 index 94ac509..a090614 --- a/sshd-keygen +++ b/sshd-keygen @@ -3,26 +3,19 @@ # Get service config [ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd -# 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 +# generate new key with empty password if it does not exist +ssh_gen_key() { + local type="$1" keyfile="$2" + + test -s $keyfile && return -exit 0 + /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 +ssh_gen_key ed25519 /etc/ssh/ssh_host_ed25519_key +ssh_gen_key ecdsa /etc/ssh/ssh_host_ecdsa_key +ssh_gen_key rsa /etc/ssh/ssh_host_rsa_key +ssh_gen_key dsa /etc/ssh/ssh_host_dsa_key