#!/bin/sh # Donated code that was put under PD license. # # Stripped PRNGd out of it for the time being. umask 022 CAT=/bin/cat KILL=/bin/kill prefix=/lib sysconfdir=${prefix}/etc piddir=/lib/etc SSHD=$prefix/sbin/sshd PIDFILE=$piddir/sshd.pid SSH_KEYGEN=$prefix/bin/ssh-keygen HOST_KEY_RSA1=$sysconfdir/ssh_host_key HOST_KEY_DSA=$sysconfdir/ssh_host_dsa_key HOST_KEY_RSA=$sysconfdir/ssh_host_rsa_key checkkeys() { if [ ! -f $HOST_KEY_RSA1 ]; then ${SSH_KEYGEN} -t rsa1 -f ${HOST_KEY_RSA1} -N "" fi if [ ! -f $HOST_KEY_DSA ]; then ${SSH_KEYGEN} -t dsa -f ${HOST_KEY_DSA} -N "" fi if [ ! -f $HOST_KEY_RSA ]; then ${SSH_KEYGEN} -t rsa -f ${HOST_KEY_RSA} -N "" fi } stop_service() { if [ -r $PIDFILE -a ! -z ${PIDFILE} ]; then PID=`${CAT} ${PIDFILE}` fi if [ ${PID:=0} -gt 1 -a ! "X$PID" = "X " ]; then ${KILL} ${PID} else echo "Unable to read PID file" fi } start_service() { # XXX We really should check if the service is already going, but # XXX we will opt out at this time. - Bal # Check to see if we have keys that need to be made checkkeys # Start SSHD echo "starting $SSHD... \c" ; $SSHD sshd_rc=$? if [ $sshd_rc -ne 0 ]; then echo "$0: Error ${sshd_rc} starting ${SSHD}... bailing." exit $sshd_rc fi echo done. } case $1 in 'start') start_service ;; 'stop') stop_service ;; 'restart') stop_service start_service ;; *) echo "$0: usage: $0 {start|stop|restart}" ;; esac