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 ****
! #!/bin/bash
  
  # 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
- 
  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/sbin/sshd
          ;;
-     "restart")
-         if [[ -f $PIDFILE ]]; then
-             /usr/bin/kill -HUP `/usr/bin/cat $PIDFILE`
-         fi
-         ;;
  esac        
  
  exit $SMF_EXIT_OK
--- 1,21 ----
! #!/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
  
! [ -x /usr/sbin/sshd ] || exit $SMF_EXIT_ERR_FATAL
  
  case $1 in
      "start")
!         /usr/bin/ssh-keygen -A || exit $SMF_EXIT_ERR_FATAL
          /usr/sbin/sshd
          ;;
  esac        
  
  exit $SMF_EXIT_OK