]> git.pld-linux.org Git - packages/openssh.git/blob - opensshd.init
- patch5 shouldn't be applied by default
[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 # Get service config
19 [ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
20
21 # Check that networking is up.
22 if is_yes "${NETWORKING}"; then
23         if [ ! -f /var/lock/subsys/network ]; then
24                 msg_network_down OpenSSH
25                 exit 1
26         fi
27 else
28         exit 0
29 fi
30                         
31 RETVAL=0
32 # See how we were called.
33 case "$1" in
34   start)
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         fi
40         if [ ! -f /etc/ssh/ssh_host_rsa_key -o ! -s /etc/ssh/ssh_host_rsa_key ]; then
41                 /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' 1>&2
42                 chmod 600 /etc/ssh/ssh_host_rsa_key
43         fi
44         if [ ! -f /etc/ssh/ssh_host_dsa_key -o ! -s /etc/ssh/ssh_host_dsa_key ]; then
45                 /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' 1>&2
46                 chmod 600 /etc/ssh/ssh_host_dsa_key
47         fi
48
49         if [ ! -f /etc/ssh/ssh_host_key ]; then
50                 msg_not_running OpenSSH
51                 nls "No SSH host key found! You must run \"%s init\" first." "$0"
52                 exit 1
53         fi
54
55         # Check if the service is already running?
56         if [ ! -f /var/lock/subsys/sshd ]; then
57                 msg_starting OpenSSH
58                 ULIMIT_C="-S -c 0"
59                 daemon /usr/sbin/sshd 
60                 RETVAL=$?
61                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sshd                
62         else
63                 msg_already_running OpenSSH
64         fi
65         ;;
66   stop)
67         if [ -f /var/lock/subsys/sshd ]; then
68                 msg_stopping OpenSSH
69                 killproc sshd
70                 rm -f /var/run/sshd.pid /var/lock/subsys/sshd >/dev/null 2>&1
71         else
72                 msg_not_running OpenSSH
73         fi      
74         ;;
75   restart)
76         $0 stop
77         $0 start
78         exit $?
79         ;;
80   status)
81         status sshd
82         exit $?
83         ;;
84   init)
85         nls "Now the SSH host key will be generated. Please note, that if you"
86         nls "will use password for the key, you will need to type it on each"
87         nls "reboot."
88         /usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key
89         chmod 600 /etc/ssh/ssh_host_key
90         /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
91         chmod 600 /etc/ssh/ssh_host_rsa_key
92         /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
93         chmod 600 /etc/ssh/ssh_host_dsa_key
94         exit $?
95         ;;
96   reload|force-reload)
97         if [ -f /var/lock/subsys/sshd ]; then
98                 msg_reloading OpenSSH
99                 killproc sshd -HUP
100                 RETVAL=$?
101         else
102                 msg_not_running OpenSSH >&2
103                 exit 7
104         fi
105         ;;
106   *)
107         msg_usage "$0 {start|stop|init|restart|reload|force-reload|status}"
108         exit 3
109 esac
110
111 exit $RETVAL
This page took 0.043492 seconds and 3 git commands to generate.