1#!/bin/sh 2# sshd/rc.main 3# perp runscript for sshd service 4# wcm, 2009.10.07 - 2011.02.02 5# === 6 7exec 2>&1 8 9TARGET=${1} 10SVNAME=${2:-sshd} 11 12## generate keys: 13make_keys() { 14 if test ! -f /etc/ssh/ssh_host_key ; then 15 echo "*** ${SVNAME}: generating /etc/ssh/ssh_host_key ..." 16 /usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N '' 17 fi 18 if test ! -f /etc/ssh/ssh_host_dsa_key ; then 19 echo "*** ${SVNAME}: generating /etc/ssh/ssh_host_dsa_key ..." 20 /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' 21 fi 22 if test ! -f /etc/ssh/ssh_host_rsa_key ; then 23 echo "*** ${SVNAME}: generating /etc/ssh/ssh_host_rsa_key ..." 24 /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' 25 fi 26} 27 28 29## start target: 30start() { 31 echo "*** ${SVNAME}: starting sshd..." 32 make_keys 33 ## sshd options required for perp service: 34 ## -D no detach, run in foreground 35 ## -e log to stderr (for tinylog) instead of syslog 36 ## 37 exec \ 38 /usr/sbin/sshd -D -e -f /etc/ssh/sshd_config 39} 40 41 42## reset target: 43reset() { 44 case $3 in 45 'exit' ) 46 echo "*** ${SVNAME}: exited status $4" ;; 47 'signal' ) 48 echo "*** ${SVNAME}: killed on signal $5" ;; 49 * ) 50 echo "*** ${SVNAME}: stopped ($3)" ;; 51 esac 52 exit 0 53} 54 55 56## branch to target: 57eval ${TARGET} "$@" 58 59### EOF 60