diff options
author | Damien Miller <djm@mindrot.org> | 2000-08-08 16:53:28 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2000-08-08 16:53:28 +1000 |
commit | ab8d1921f4598baa9b8596d7f8b6bbded9acfb33 (patch) | |
tree | e3301ff26a8093a6e9faa5894c2ac3e05269e2aa /contrib/redhat/sshd.init | |
parent | 52652f5cef3d2a4441117cde95855d039a866bbe (diff) |
- (djm) Cleanup Redhat RPMs. Generate keys at runtime rather than install
time, spec file cleanup.
Diffstat (limited to 'contrib/redhat/sshd.init')
-rwxr-xr-x | contrib/redhat/sshd.init | 101 |
1 files changed, 65 insertions, 36 deletions
diff --git a/contrib/redhat/sshd.init b/contrib/redhat/sshd.init index cac91bb51..487d12897 100755 --- a/contrib/redhat/sshd.init +++ b/contrib/redhat/sshd.init | |||
@@ -17,44 +17,73 @@ | |||
17 | 17 | ||
18 | RETVAL=0 | 18 | RETVAL=0 |
19 | 19 | ||
20 | case "$1" in | 20 | # Some functions to make the below more readable |
21 | start) | 21 | KEYGEN=/usr/bin/ssh-keygen |
22 | echo -n "Starting sshd: " | 22 | RSA_KEY=/etc/ssh/ssh_host_key |
23 | if [ ! -f /var/run/sshd.pid ] ; then | 23 | DSA_KEY=/etc/ssh/ssh_host_dsa_key |
24 | case "`type -type success`" in | 24 | PID_FILE=/var/run/sshd.pid |
25 | function) | 25 | do_rsa_keygen() { |
26 | /usr/sbin/sshd && success "sshd startup" || failure "sshd startup" | 26 | if $KEYGEN -R && ! test -f $RSA_KEY ; then |
27 | RETVAL=$? | 27 | echo -n "Generating SSH RSA host key: " |
28 | ;; | 28 | if $KEYGEN -q -b 1024 -f $RSA_KEY -C '' -N '' >&/dev/null; then |
29 | *) | 29 | success "RSA key generation" |
30 | /usr/sbin/sshd && echo -n "sshd " | 30 | echo |
31 | RETVAL=$? | 31 | else |
32 | ;; | 32 | failure "RSA key generation" |
33 | esac | 33 | echo |
34 | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sshd | 34 | exit 1 |
35 | fi | ||
35 | fi | 36 | fi |
36 | echo | 37 | } |
37 | ;; | 38 | do_dsa_keygen() { |
38 | stop) | 39 | if ! test -f $DSA_KEY ; then |
39 | echo -n "Shutting down sshd: " | 40 | echo -n "Generating SSH DSA host key: " |
40 | if [ -f /var/run/sshd.pid ] ; then | 41 | if $KEYGEN -q -d -b 1024 -f $DSA_KEY -C '' -N '' >&/dev/null; then |
41 | killproc sshd | 42 | success "DSA key generation" |
43 | echo | ||
44 | else | ||
45 | failure "DSA key generation" | ||
46 | echo | ||
47 | exit 1 | ||
48 | fi | ||
42 | fi | 49 | fi |
43 | echo | 50 | } |
44 | [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sshd | 51 | |
45 | ;; | 52 | case "$1" in |
46 | restart) | 53 | start) |
47 | $0 stop | 54 | # Create keys if necessary |
48 | $0 start | 55 | do_rsa_keygen; |
49 | RETVAL=$? | 56 | do_dsa_keygen; |
50 | ;; | 57 | |
51 | status) | 58 | echo -n "Starting sshd: " |
52 | status sshd | 59 | if [ ! -f $PID_FILE ] ; then |
53 | RETVAL=$? | 60 | daemon sshd |
54 | ;; | 61 | RETVAL=$? |
55 | *) | 62 | touch /var/lock/subsys/sshd |
56 | echo "Usage: sshd {start|stop|restart|status}" | 63 | fi |
57 | exit 1 | 64 | echo |
65 | ;; | ||
66 | stop) | ||
67 | echo -n "Shutting down sshd: " | ||
68 | if [ -f $PID_FILE ] ; then | ||
69 | killproc sshd | ||
70 | [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sshd | ||
71 | fi | ||
72 | echo | ||
73 | ;; | ||
74 | restart) | ||
75 | $0 stop | ||
76 | $0 start | ||
77 | RETVAL=$? | ||
78 | ;; | ||
79 | status) | ||
80 | status sshd | ||
81 | RETVAL=$? | ||
82 | ;; | ||
83 | *) | ||
84 | echo "Usage: sshd {start|stop|restart|status}" | ||
85 | exit 1 | ||
86 | ;; | ||
58 | esac | 87 | esac |
59 | 88 | ||
60 | exit $RETVAL | 89 | exit $RETVAL |