#!/bin/sh # # The is the "init" start/stop script for the OpenSSH server daemon "sshd" # # The following links should be made for proper "init" operation: # ln -s /etc/init.d/sshd /etc/rc0.d/K30sshd # ln -s /etc/init.d/sshd /etc/rc1.d/K30sshd # ln -s /etc/init.d/sshd /etc/rc2.d/S20sshd # ln -s /etc/init.d/sshd /etc/rcS.d/K30sshd # # The following are the config and key files: # config: /usr/local/etc/ssh_host_key # config: /usr/local/etc/ssh_host_key.pub # config: /usr/local/etc/ssh_random_seed # config: /usr/local/etc/sshd_config # pidfile: /var/run/sshd.pid # # 9/04/02 Ivan Ported script to Solaris from linux, changed to an sh vice bash # 2/25/03 Bob Modified for use on styma5. ExitCode=0 Script="sshd" # Some functions to make the below more readable KeyGen=/usr/local/bin/ssh-keygen Sshd=/usr/local/sbin/sshd Rsa1Key=/usr/local/etc/ssh_host_key RsaKey=/usr/local/etc/ssh_host_rsa_key DsaKey=/usr/local/etc/ssh_host_dsa_key PidFile=/var/run/sshd.pid ################################################################ # Declare internal functions that will be called by this script ################################################################ do_rsa1_keygen() { if [ ! -s $Rsa1Key ] then echo "Generating SSH1 RSA host key... \c" if $KeyGen -q -t rsa1 -f $Rsa1Key -C '' -N '' > /dev/null 2>&1 then /bin/chmod 600 $Rsa1Key /bin/chmod 644 $Rsa1Key.pub echo "done\n" else echo "FAILED\n" exit 1 fi fi } # function do_rsa1_keygen ################################################################ do_rsa_keygen() { if [ ! -s $RsaKey ] then echo "Generating SSH2 RSA host key... \c" if $KeyGen -q -t rsa -f $RsaKey -C '' -N '' > /dev/null 2>&1 then /bin/chmod 600 $RsaKey /bin/chmod 644 $RsaKey.pub echo "done\n" else echo "FAILED\n" exit 1 fi fi } # function do_rsa_keygen ################################################################ do_dsa_keygen() { if [ ! -s $DsaKey ] then echo "Generating SSH2 DSA host key... \c" if $KeyGen -q -t dsa -f $DsaKey -C '' -N '' > /dev/null 2>&1 then /bin/chmod 600 $DsaKey /bin/chmod 644 $DsaKey.pub echo "done\n" else echo "FAILED\n" exit 1 fi fi } # end function do_dsa_keygen ################################################################ start() { # Create keys if necessary do_rsa1_keygen do_rsa_keygen do_dsa_keygen echo "Starting $Script:" $Sshd ExitCode=$? } # end function start ################################################################ stop() { echo "Stopping $Script:" /bin/pkill -f ${Sshd} ExitCode=$? } # end function stop ################################################################## # Start Of Script ################################################################## case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage: $Script {start|stop|restart}" ExitCode=1 esac exit $ExitCode # End sshd