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