Print this page
use ssh-keygen -A for openssh host key generation
openssh smf method script should use /bin/sh
It's probably not a good idea to source smf_include from a different
shell than what it was written for.
don't depend on pidfiles in openssh refresh
generate ed25519 host keys for openssh
@@ -1,36 +1,21 @@
-#!/bin/bash
+#!/bin/sh
# SMF method script for OpenSSH server
# Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved.
# Use is subject to license terms.
#
. /lib/svc/share/smf_include.sh
CONFDIR=/etc/ssh
-PIDFILE=/var/run/sshd.pid
-create_host_key() {
- TYPE=$1
- FILE=$2
- /usr/bin/ssh-keygen -t $TYPE -N '' -f $FILE || \
- exit $SMF_EXIT_ERR_CONFIG
-}
+[ -x /usr/sbin/sshd ] || exit $SMF_EXIT_ERR_FATAL
-[[ -x /usr/sbin/sshd ]] || exit $SMF_EXIT_ERR_FATAL
-
case $1 in
"start")
- [[ -f $CONFDIR/ssh_host_dsa_key ]] || create_host_key dsa $CONFDIR/ssh_host_dsa_key
- [[ -f $CONFDIR/ssh_host_rsa_key ]] || create_host_key rsa $CONFDIR/ssh_host_rsa_key
- [[ -f $CONFDIR/ssh_host_ecdsa_key ]] || create_host_key ecdsa $CONFDIR/ssh_host_ecdsa_key
+ /usr/bin/ssh-keygen -A || exit $SMF_EXIT_ERR_FATAL
/usr/sbin/sshd
;;
- "restart")
- if [[ -f $PIDFILE ]]; then
- /usr/bin/kill -HUP `/usr/bin/cat $PIDFILE`
- fi
- ;;
esac
exit $SMF_EXIT_OK