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
18 SERVICE_LIMITS_HARD="-u unlimited"
19 SERVICE_LIMITS_SOFT="-c 0"
22 [ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
24 # Check that networking is up.
25 if is_yes "${NETWORKING}"; then
26 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status -a "$1" != init ]; then
27 msg_network_down OpenSSH
35 # See how we were called.
38 # generate new keys with empty passwords if they do not exist
39 if [ ! -f /etc/ssh/ssh_host_key -o ! -s /etc/ssh/ssh_host_key ]; then
40 /usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N '' 1>&2
41 chmod 600 /etc/ssh/ssh_host_key
43 if [ ! -f /etc/ssh/ssh_host_rsa_key -o ! -s /etc/ssh/ssh_host_rsa_key ]; then
44 /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' 1>&2
45 chmod 600 /etc/ssh/ssh_host_rsa_key
47 if [ ! -f /etc/ssh/ssh_host_dsa_key -o ! -s /etc/ssh/ssh_host_dsa_key ]; then
48 /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' 1>&2
49 chmod 600 /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
72 rm -f /var/run/sshd.pid /var/lock/subsys/sshd >/dev/null 2>&1
74 msg_not_running OpenSSH
87 nls "Now the SSH host key will be generated. Please note, that if you"
88 nls "will use password for the key, you will need to type it on each"
90 /usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key
91 chmod 600 /etc/ssh/ssh_host_key
92 /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
93 chmod 600 /etc/ssh/ssh_host_rsa_key
94 /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
95 chmod 600 /etc/ssh/ssh_host_dsa_key
99 if [ -f /var/lock/subsys/sshd ]; then
100 msg_reloading OpenSSH
104 msg_not_running OpenSSH >&2
109 msg_usage "$0 {start|stop|init|restart|reload|force-reload|status}"