~ubuntu-branches/ubuntu/edgy/openssh/edgy

« back to all changes in this revision

Viewing changes to contrib/redhat/sshd.init

  • Committer: Bazaar Package Importer
  • Author(s): Noah Meyerhans
  • Date: 2006-10-31 17:53:38 UTC
  • Revision ID: james.westby@ubuntu.com-20061031175338-kh299ada2qc2kzlb
Tags: upstream-3.8.1p1
ImportĀ upstreamĀ versionĀ 3.8.1p1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
# pull in sysconfig settings
 
19
[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
 
20
 
 
21
RETVAL=0
 
22
prog="sshd"
 
23
 
 
24
# Some functions to make the below more readable
 
25
KEYGEN=/usr/bin/ssh-keygen
 
26
SSHD=/usr/sbin/sshd
 
27
RSA1_KEY=/etc/ssh/ssh_host_key
 
28
RSA_KEY=/etc/ssh/ssh_host_rsa_key
 
29
DSA_KEY=/etc/ssh/ssh_host_dsa_key
 
30
PID_FILE=/var/run/sshd.pid
 
31
 
 
32
do_rsa1_keygen() {
 
33
        if [ ! -s $RSA1_KEY ]; then
 
34
                echo -n $"Generating SSH1 RSA host key: "
 
35
                if $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' >&/dev/null; then
 
36
                        chmod 600 $RSA1_KEY
 
37
                        chmod 644 $RSA1_KEY.pub
 
38
                        success $"RSA1 key generation"
 
39
                        echo
 
40
                else
 
41
                        failure $"RSA1 key generation"
 
42
                        echo
 
43
                        exit 1
 
44
                fi
 
45
        fi
 
46
}
 
47
 
 
48
do_rsa_keygen() {
 
49
        if [ ! -s $RSA_KEY ]; then
 
50
                echo -n $"Generating SSH2 RSA host key: "
 
51
                if $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N '' >&/dev/null; then
 
52
                        chmod 600 $RSA_KEY
 
53
                        chmod 644 $RSA_KEY.pub
 
54
                        success $"RSA key generation"
 
55
                        echo
 
56
                else
 
57
                        failure $"RSA key generation"
 
58
                        echo
 
59
                        exit 1
 
60
                fi
 
61
        fi
 
62
}
 
63
 
 
64
do_dsa_keygen() {
 
65
        if [ ! -s $DSA_KEY ]; then
 
66
                echo -n $"Generating SSH2 DSA host key: "
 
67
                if $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N '' >&/dev/null; then
 
68
                        chmod 600 $DSA_KEY
 
69
                        chmod 644 $DSA_KEY.pub
 
70
                        success $"DSA key generation"
 
71
                        echo
 
72
                else
 
73
                        failure $"DSA key generation"
 
74
                        echo
 
75
                        exit 1
 
76
                fi
 
77
        fi
 
78
}
 
79
 
 
80
do_restart_sanity_check()
 
81
{
 
82
        $SSHD -t
 
83
        RETVAL=$?
 
84
        if [ ! "$RETVAL" = 0 ]; then
 
85
                failure $"Configuration file or keys are invalid"
 
86
                echo
 
87
        fi
 
88
}
 
89
 
 
90
start()
 
91
{
 
92
        # Create keys if necessary
 
93
        do_rsa1_keygen
 
94
        do_rsa_keygen
 
95
        do_dsa_keygen
 
96
 
 
97
        echo -n $"Starting $prog:"
 
98
        initlog -c "$SSHD $OPTIONS" && success || failure
 
99
        RETVAL=$?
 
100
        [ "$RETVAL" = 0 ] && touch /var/lock/subsys/sshd
 
101
        echo
 
102
}
 
103
 
 
104
stop()
 
105
{
 
106
        echo -n $"Stopping $prog:"
 
107
        killproc $SSHD -TERM
 
108
        RETVAL=$?
 
109
        [ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/sshd
 
110
        echo
 
111
}
 
112
 
 
113
reload()
 
114
{
 
115
        echo -n $"Reloading $prog:"
 
116
        killproc $SSHD -HUP
 
117
        RETVAL=$?
 
118
        echo
 
119
}
 
120
 
 
121
case "$1" in
 
122
        start)
 
123
                start
 
124
                ;;
 
125
        stop)
 
126
                stop
 
127
                ;;
 
128
        restart)
 
129
                stop
 
130
                start
 
131
                ;;
 
132
        reload)
 
133
                reload
 
134
                ;;
 
135
        condrestart)
 
136
                if [ -f /var/lock/subsys/sshd ] ; then
 
137
                        do_restart_sanity_check
 
138
                        if [ "$RETVAL" = 0 ] ; then
 
139
                                stop
 
140
                                # avoid race
 
141
                                sleep 3
 
142
                                start
 
143
                        fi
 
144
                fi
 
145
                ;;
 
146
        status)
 
147
                status $SSHD
 
148
                RETVAL=$?
 
149
                ;;
 
150
        *)
 
151
                echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
 
152
                RETVAL=1
 
153
esac
 
154
exit $RETVAL