3 # Init file for OpenSSH server daemon
5 # chkconfig: 2345 55 25
6 # description: OpenSSH server daemon
9 # config: /etc/ssh/ssh_host_key
10 # config: /etc/ssh/ssh_host_key.pub
11 # config: /etc/ssh/ssh_random_seed
12 # config: /etc/ssh/sshd_config
13 # pidfile: /var/run/sshd.pid
15 # source function library
16 . /etc/rc.d/init.d/functions
18 # pull in sysconfig settings
19 [ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
24 # Some functions to make the below more readable
25 KEYGEN=/usr/bin/ssh-keygen
27 RSA1_KEY=/etc/ssh/ssh_host_key
28 RSA_KEY=/etc/ssh/ssh_host_rsa_key
29 DSA_KEY=/etc/ssh/ssh_host_dsa_key
30 PID_FILE=/var/run/sshd.pid
33 if [ ! -s $RSA1_KEY ]; then
34 echo -n $"Generating SSH1 RSA host key: "
35 if $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' >&/dev/null; then
37 chmod 644 $RSA1_KEY.pub
38 if [ -x /sbin/restorecon ]; then
39 /sbin/restorecon $RSA1_KEY.pub
41 success $"RSA1 key generation"
44 failure $"RSA1 key generation"
52 if [ ! -s $RSA_KEY ]; then
53 echo -n $"Generating SSH2 RSA host key: "
54 if $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N '' >&/dev/null; then
56 chmod 644 $RSA_KEY.pub
57 if [ -x /sbin/restorecon ]; then
58 /sbin/restorecon $RSA_KEY.pub
60 success $"RSA key generation"
63 failure $"RSA key generation"
71 if [ ! -s $DSA_KEY ]; then
72 echo -n $"Generating SSH2 DSA host key: "
73 if $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N '' >&/dev/null; then
75 chmod 644 $DSA_KEY.pub
76 if [ -x /sbin/restorecon ]; then
77 /sbin/restorecon $DSA_KEY.pub
79 success $"DSA key generation"
82 failure $"DSA key generation"
89 do_restart_sanity_check()
93 if [ ! "$RETVAL" = 0 ]; then
94 failure $"Configuration file or keys are invalid"
101 # Create keys if necessary
106 echo -n $"Starting $prog:"
107 initlog -c "$SSHD $OPTIONS" && success || failure
109 [ "$RETVAL" = 0 ] && touch /var/lock/subsys/sshd
115 echo -n $"Stopping $prog:"
118 [ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/sshd
124 echo -n $"Reloading $prog:"
145 if [ -f /var/lock/subsys/sshd ] ; then
146 do_restart_sanity_check
147 if [ "$RETVAL" = 0 ] ; then
160 echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"