3 # sshd sshd (secure shell daemon)
7 # description: sshd (secure shell daemon) is a server part of the ssh suite. \
8 # Ssh can be used for remote login, remote file copying, TCP port \
9 # forwarding etc. Ssh offers strong encryption and authentication.
12 # Source function library
13 . /etc/rc.d/init.d/functions
16 . /etc/sysconfig/network
19 [ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
21 # Check that networking is up.
22 if is_yes "${NETWORKING}"; then
23 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status -a "$1" != init ]; then
24 msg_network_down OpenSSH
32 # See how we were called.
35 # generate new keys with empty passwords if they do not exist
36 if [ ! -f /etc/ssh/ssh_host_key -o ! -s /etc/ssh/ssh_host_key ]; then
37 /usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N '' 1>&2
38 chmod 600 /etc/ssh/ssh_host_key
39 [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_key || :
41 if [ ! -f /etc/ssh/ssh_host_rsa_key -o ! -s /etc/ssh/ssh_host_rsa_key ]; then
42 /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' 1>&2
43 chmod 600 /etc/ssh/ssh_host_rsa_key
44 [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_rsa_key || :
46 if [ ! -f /etc/ssh/ssh_host_dsa_key -o ! -s /etc/ssh/ssh_host_dsa_key ]; then
47 /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' 1>&2
48 chmod 600 /etc/ssh/ssh_host_dsa_key
49 [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_dsa_key || :
52 if [ ! -f /etc/ssh/ssh_host_key ]; then
53 msg_not_running OpenSSH
54 nls "No SSH host key found! You must run \"%s init\" first." "$0"
58 # Check if the service is already running?
59 if [ ! -f /var/lock/subsys/sshd ]; then
63 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sshd
65 msg_already_running OpenSSH
69 if [ -f /var/lock/subsys/sshd ]; then
71 # we use start-stop-daemon to stop sshd, as it is unacceptable for such
72 # critical service as sshd to kill it by procname, but unfortunately
73 # rc-scripts does not provide way to kill *only* by pidfile
74 start-stop-daemon --stop --quiet --pidfile /var/run/sshd.pid && ok || fail
75 rm -f /var/lock/subsys/sshd >/dev/null 2>&1
77 msg_not_running OpenSSH
90 nls "Now the SSH host key will be generated. Please note, that if you"
91 nls "will use password for the key, you will need to type it on each"
93 /usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key
94 [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_key || :
95 chmod 600 /etc/ssh/ssh_host_key
96 /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
97 [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_rsa_key || :
98 chmod 600 /etc/ssh/ssh_host_rsa_key
99 /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
100 chmod 600 /etc/ssh/ssh_host_dsa_key
101 [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_dsa_key || :
105 if [ -f /var/lock/subsys/sshd ]; then
106 msg_reloading OpenSSH
110 msg_not_running OpenSSH >&2
115 msg_usage "$0 {start|stop|init|restart|reload|force-reload|status}"