]> git.pld-linux.org Git - packages/openssh.git/blob - opensshd.init
- add http://www.imasy.or.jp/~gotoh/ssh/connect.html
[packages/openssh.git] / opensshd.init
1 #!/bin/sh
2 #
3 # sshd          sshd (secure shell daemon)
4 #
5 # chkconfig:    345 55 45
6 #
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.
10
11
12 # Source function library
13 . /etc/rc.d/init.d/functions
14
15 # Get network config
16 . /etc/sysconfig/network
17
18 SERVICE_LIMITS_HARD="-u unlimited"
19 SERVICE_LIMITS_SOFT="-u unlimited -c 0"
20
21 # Get service config
22 [ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
23
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
28                 exit 1
29         fi
30 else
31         exit 0
32 fi
33                         
34 RETVAL=0
35 # See how we were called.
36 case "$1" in
37   start)
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
42         fi
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
46         fi
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
50         fi
51
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"
55                 exit 1
56         fi
57
58         # Check if the service is already running?
59         if [ ! -f /var/lock/subsys/sshd ]; then
60                 msg_starting OpenSSH
61                 daemon /usr/sbin/sshd 
62                 RETVAL=$?
63                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sshd                
64         else
65                 msg_already_running OpenSSH
66         fi
67         ;;
68   stop)
69         if [ -f /var/lock/subsys/sshd ]; then
70                 msg_stopping OpenSSH
71                 killproc sshd
72                 rm -f /var/run/sshd.pid /var/lock/subsys/sshd >/dev/null 2>&1
73         else
74                 msg_not_running OpenSSH
75         fi      
76         ;;
77   restart)
78         $0 stop
79         $0 start
80         exit $?
81         ;;
82   status)
83         status sshd
84         exit $?
85         ;;
86   init)
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"
89         nls "reboot."
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
96         exit $?
97         ;;
98   reload|force-reload)
99         if [ -f /var/lock/subsys/sshd ]; then
100                 msg_reloading OpenSSH
101                 killproc sshd -HUP
102                 RETVAL=$?
103         else
104                 msg_not_running OpenSSH >&2
105                 exit 7
106         fi
107         ;;
108   *)
109         msg_usage "$0 {start|stop|init|restart|reload|force-reload|status}"
110         exit 3
111 esac
112
113 exit $RETVAL
This page took 0.058822 seconds and 3 git commands to generate.