|  | #!/bin/bash | 
|  | # | 
|  | # Init file for OpenSSH server daemon | 
|  | # | 
|  | # chkconfig: 2345 55 25 | 
|  | # description: OpenSSH server daemon | 
|  | # | 
|  | # processname: sshd | 
|  | # config: /etc/ssh/ssh_host_key | 
|  | # config: /etc/ssh/ssh_host_key.pub | 
|  | # config: /etc/ssh/ssh_random_seed | 
|  | # config: /etc/ssh/sshd_config | 
|  | # pidfile: /var/run/sshd.pid | 
|  |  | 
|  | # source function library | 
|  | . /etc/rc.d/init.d/functions | 
|  |  | 
|  | # pull in sysconfig settings | 
|  | [ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd | 
|  |  | 
|  | RETVAL=0 | 
|  | prog="sshd" | 
|  |  | 
|  | # Some functions to make the below more readable | 
|  | SSHD=/usr/sbin/sshd | 
|  | PID_FILE=/var/run/sshd.pid | 
|  |  | 
|  | do_restart_sanity_check() | 
|  | { | 
|  | $SSHD -t | 
|  | RETVAL=$? | 
|  | if [ $RETVAL -ne 0 ]; then | 
|  | failure $"Configuration file or keys are invalid" | 
|  | echo | 
|  | fi | 
|  | } | 
|  |  | 
|  | start() | 
|  | { | 
|  | # Create keys if necessary | 
|  | /usr/bin/ssh-keygen -A | 
|  | if [ -x /sbin/restorecon ]; then | 
|  | /sbin/restorecon /etc/ssh/ssh_host_key.pub | 
|  | /sbin/restorecon /etc/ssh/ssh_host_rsa_key.pub | 
|  | /sbin/restorecon /etc/ssh/ssh_host_dsa_key.pub | 
|  | /sbin/restorecon /etc/ssh/ssh_host_ecdsa_key.pub | 
|  | fi | 
|  |  | 
|  | echo -n $"Starting $prog:" | 
|  | $SSHD $OPTIONS && success || failure | 
|  | RETVAL=$? | 
|  | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sshd | 
|  | echo | 
|  | } | 
|  |  | 
|  | stop() | 
|  | { | 
|  | echo -n $"Stopping $prog:" | 
|  | killproc $SSHD -TERM | 
|  | RETVAL=$? | 
|  | [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sshd | 
|  | echo | 
|  | } | 
|  |  | 
|  | reload() | 
|  | { | 
|  | echo -n $"Reloading $prog:" | 
|  | killproc $SSHD -HUP | 
|  | RETVAL=$? | 
|  | echo | 
|  | } | 
|  |  | 
|  | case "$1" in | 
|  | start) | 
|  | start | 
|  | ;; | 
|  | stop) | 
|  | stop | 
|  | ;; | 
|  | restart) | 
|  | stop | 
|  | start | 
|  | ;; | 
|  | reload) | 
|  | reload | 
|  | ;; | 
|  | condrestart) | 
|  | if [ -f /var/lock/subsys/sshd ] ; then | 
|  | do_restart_sanity_check | 
|  | if [ $RETVAL -eq 0 ] ; then | 
|  | stop | 
|  | # avoid race | 
|  | sleep 3 | 
|  | start | 
|  | fi | 
|  | fi | 
|  | ;; | 
|  | status) | 
|  | status $SSHD | 
|  | RETVAL=$? | 
|  | ;; | 
|  | *) | 
|  | echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}" | 
|  | RETVAL=1 | 
|  | esac | 
|  | exit $RETVAL |