]> andersk Git - openssh.git/blame - contrib/redhat/sshd.init.old
- markus@cvs.openbsd.org 2009/12/11 18:16:33
[openssh.git] / contrib / redhat / sshd.init.old
CommitLineData
3ef3d901 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
21RETVAL=0
22prog="sshd"
23
24# Some functions to make the below more readable
25KEYGEN=/usr/bin/ssh-keygen
26SSHD=/usr/sbin/sshd
27RSA1_KEY=/etc/ssh/ssh_host_key
28RSA_KEY=/etc/ssh/ssh_host_rsa_key
29DSA_KEY=/etc/ssh/ssh_host_dsa_key
30PID_FILE=/var/run/sshd.pid
31
32my_success() {
33 local msg
34 if [ $# -gt 1 ]; then
35 msg="$2"
36 else
37 msg="done"
38 fi
39 case "`type -type success`" in
40 function)
41 success "$1"
42 ;;
43 *)
44 echo -n "${msg}"
45 ;;
46 esac
47}
48my_failure() {
49 local msg
50 if [ $# -gt 1 ]; then
51 msg="$2"
52 else
53 msg="FAILED"
54 fi
55 case "`type -type failure`" in
56 function)
57 failure "$1"
58 ;;
59 *)
60 echo -n "${msg}"
61 ;;
62 esac
63}
64do_rsa1_keygen() {
65 if [ ! -s $RSA1_KEY ]; then
66 echo -n "Generating SSH1 RSA host key: "
67 if $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' >&/dev/null; then
68 chmod 600 $RSA1_KEY
69 chmod 644 $RSA1_KEY.pub
70 my_success "RSA1 key generation"
71 echo
72 else
73 my_failure "RSA1 key generation"
74 echo
75 exit 1
76 fi
77 fi
78}
79do_rsa_keygen() {
80 if [ ! -s $RSA_KEY ]; then
81 echo -n "Generating SSH2 RSA host key: "
82 if $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N '' >&/dev/null; then
83 chmod 600 $RSA_KEY
84 chmod 644 $RSA_KEY.pub
85 my_success "RSA key generation"
86 echo
87 else
88 my_failure "RSA key generation"
89 echo
90 exit 1
91 fi
92 fi
93}
94do_dsa_keygen() {
95 if [ ! -s $DSA_KEY ]; then
96 echo -n "Generating SSH2 DSA host key: "
97 if $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N '' >&/dev/null; then
98 chmod 600 $DSA_KEY
99 chmod 644 $DSA_KEY.pub
100 my_success "DSA key generation"
101 echo
102 else
103 my_failure "DSA key generation"
104 echo
105 exit 1
106 fi
107 fi
108}
109do_restart_sanity_check() {
110 $SSHD -t
111 RETVAL=$?
112 if [ ! "$RETVAL" = 0 ]; then
113 my_failure "Configuration file or keys"
114 echo
115 fi
116}
117
118
119case "$1" in
120 start)
121 # Create keys if necessary
122 do_rsa1_keygen;
123 do_rsa_keygen;
124 do_dsa_keygen;
125
126 echo -n "Starting sshd: "
127 if [ ! -f $PID_FILE ] ; then
128 sshd $OPTIONS
129 RETVAL=$?
130 if [ "$RETVAL" = "0" ] ; then
131 my_success "sshd startup" "sshd"
132 touch /var/lock/subsys/sshd
133 else
134 my_failure "sshd startup" ""
135 fi
136 fi
137 echo
138 ;;
139 stop)
140 echo -n "Shutting down sshd: "
141 if [ -f $PID_FILE ] ; then
142 killproc sshd
143 RETVAL=$?
144 [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sshd
145 fi
146 echo
147 ;;
148 restart)
149 do_restart_sanity_check
150 $0 stop
151 $0 start
152 RETVAL=$?
153 ;;
154 condrestart)
155 if [ -f /var/lock/subsys/sshd ] ; then
156 do_restart_sanity_check
157 $0 stop
158 $0 start
159 RETVAL=$?
160 fi
161 ;;
162 status)
163 status sshd
164 RETVAL=$?
165 ;;
166 *)
167 echo "Usage: sshd {start|stop|restart|status|condrestart}"
168 exit 1
169 ;;
170esac
171
172exit $RETVAL
This page took 0.16681 seconds and 5 git commands to generate.