]> andersk Git - openssh.git/blob - contrib/redhat/sshd.init
- (djm) Merge OpenBSD changes:
[openssh.git] / contrib / redhat / sshd.init
1 #!/bin/bash
2
3 # Init file for OpenSSH server daemon
4 #
5 # chkconfig: 2345 55 25
6 # description: OpenSSH server daemon
7 #
8 # processname: sshd
9 # config: /etc/ssh/ssh_host_key
10 # config: /etc/ssh/ssh_host_key.pub
11 # config: /etc/ssh/ssh_random_seed
12 # config: /etc/ssh/sshd_config
13 # pidfile: /var/run/sshd.pid
14
15 # source function library
16 . /etc/rc.d/init.d/functions
17
18 RETVAL=0
19
20 # Some functions to make the below more readable
21 KEYGEN=/usr/bin/ssh-keygen
22 RSA1_KEY=/etc/ssh/ssh_host_key
23 RSA_KEY=/etc/ssh/ssh_host_rsa_key
24 DSA_KEY=/etc/ssh/ssh_host_dsa_key
25 PID_FILE=/var/run/sshd.pid
26 do_rsa1_keygen() {
27         if ! test -f $RSA1_KEY ; then
28                 echo -n "Generating SSH1 RSA host key: "
29                 if $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' >&/dev/null; then
30                         success "RSA1 key generation"
31                         echo
32                 else
33                         failure "RSA1 key generation"
34                         echo
35                         exit 1
36                 fi
37         fi
38 }
39 do_rsa_keygen() {
40         if ! test -f $RSA_KEY ; then
41                 echo -n "Generating SSH2 RSA host key: "
42                 if $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N '' >&/dev/null; then
43                         success "RSA key generation"
44                         echo
45                 else
46                         failure "RSA key generation"
47                         echo
48                         exit 1
49                 fi
50         fi
51 }
52 do_dsa_keygen() {
53         if ! test -f $DSA_KEY ; then
54                 echo -n "Generating SSH2 DSA host key: "
55                 if $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N '' >&/dev/null; then
56                         success "DSA key generation"
57                         echo
58                 else
59                         failure "DSA key generation"
60                         echo
61                         exit 1
62                 fi
63         fi
64 }
65
66 case "$1" in
67         start)
68                 # Create keys if necessary
69                 do_rsa1_keygen;
70                 do_rsa_keygen;
71                 do_dsa_keygen;
72                 
73                 echo -n "Starting sshd: "
74                 if [ ! -f $PID_FILE ] ; then
75                         sshd
76                         RETVAL=$?
77                         if [ "$RETVAL" = "0" ] ; then
78                                 success "sshd startup"
79                                 touch /var/lock/subsys/sshd
80                         else
81                                 failure "sshd startup"
82                         fi
83                 fi
84                 echo
85                 ;;
86         stop)
87                 echo -n "Shutting down sshd: "
88                 if [ -f $PID_FILE ] ; then
89                         killproc sshd
90                         RETVAL=$?
91                         [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sshd
92                 fi
93                 echo
94                 ;;
95         restart)
96                 $0 stop
97                 $0 start
98                 RETVAL=$?
99                 ;;
100         condrestart)
101                 if [ -f /var/lock/subsys/sshd ] ; then
102                         $0 stop
103                         $0 start
104                         RETVAL=$?
105                 fi
106                 ;;
107         status)
108                 status sshd
109                 RETVAL=$?
110                 ;;
111         *)
112                 echo "Usage: sshd {start|stop|restart|status|condrestart}"
113                 exit 1
114                 ;;
115 esac
116
117 exit $RETVAL
This page took 0.054855 seconds and 5 git commands to generate.