1 #!/bin/bash
2
3 # SMF method script for OpenSSH server
4 # Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved.
5 # Use is subject to license terms.
6 #
7
8 . /lib/svc/share/smf_include.sh
9
10 CONFDIR=/etc/ssh
11 PIDFILE=/var/run/sshd.pid
12
13 create_host_key() {
14 TYPE=$1
15 FILE=$2
16 /usr/bin/ssh-keygen -t $TYPE -N '' -f $FILE || \
17 exit $SMF_EXIT_ERR_CONFIG
18 }
19
20 [[ -x /usr/sbin/sshd ]] || exit $SMF_EXIT_ERR_FATAL
21
22 case $1 in
23 "start")
24 [[ -f $CONFDIR/ssh_host_dsa_key ]] || create_host_key dsa $CONFDIR/ssh_host_dsa_key
25 [[ -f $CONFDIR/ssh_host_rsa_key ]] || create_host_key rsa $CONFDIR/ssh_host_rsa_key
26 [[ -f $CONFDIR/ssh_host_ecdsa_key ]] || create_host_key ecdsa $CONFDIR/ssh_host_ecdsa_key
27 /usr/sbin/sshd
28 ;;
29 "restart")
30 if [[ -f $PIDFILE ]]; then
31 /usr/bin/kill -HUP `/usr/bin/cat $PIDFILE`
32 fi
33 ;;
34 esac
35
36 exit $SMF_EXIT_OK