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