]> git.pld-linux.org Git - packages/openssh.git/blame - opensshd.init
- updated chroot patch
[packages/openssh.git] / opensshd.init
CommitLineData
cf3b46d6
AF
1#!/bin/sh
2#
3# sshd sshd (secure shell daemon)
4#
5# chkconfig: 345 55 45
6#
4a9f24b4 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 \
cf3b46d6
AF
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# Get service config
19[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
20
21# Check that networking is up.
7d58fbb0 22if is_yes "${NETWORKING}"; then
224aaee1 23 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status -a "$1" != init ]; then
7d58fbb0 24 msg_network_down OpenSSH
25 exit 1
26 fi
27else
28 exit 0
cf3b46d6 29fi
a1c37c17 30
945a8076
ER
31checkconfig() {
32 /usr/sbin/sshd -t || exit 1
33}
34
bff0c7f8 35RETVAL=0
cf3b46d6
AF
36# See how we were called.
37case "$1" in
38 start)
3c573fc0 39 # generate new keys with empty passwords if they do not exist
40 if [ ! -f /etc/ssh/ssh_host_key -o ! -s /etc/ssh/ssh_host_key ]; then
7d58fbb0 41 /usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N '' 1>&2
42 chmod 600 /etc/ssh/ssh_host_key
b79cf855 43 [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_key || :
3c573fc0 44 fi
45 if [ ! -f /etc/ssh/ssh_host_rsa_key -o ! -s /etc/ssh/ssh_host_rsa_key ]; then
7d58fbb0 46 /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' 1>&2
47 chmod 600 /etc/ssh/ssh_host_rsa_key
b79cf855 48 [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_rsa_key || :
3c573fc0 49 fi
50 if [ ! -f /etc/ssh/ssh_host_dsa_key -o ! -s /etc/ssh/ssh_host_dsa_key ]; then
7d58fbb0 51 /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' 1>&2
52 chmod 600 /etc/ssh/ssh_host_dsa_key
b79cf855 53 [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_dsa_key || :
3c573fc0 54 fi
55
945a8076
ER
56 checkconfig
57
01d1f289 58 if [ ! -f /etc/ssh/ssh_host_key ]; then
9ceb608e 59 msg_not_running OpenSSH
7d58fbb0 60 nls "No SSH host key found! You must run \"%s init\" first." "$0"
01d1f289 61 exit 1
62 fi
3c573fc0 63
64 # Check if the service is already running?
cf3b46d6 65 if [ ! -f /var/lock/subsys/sshd ]; then
cbd44157 66 msg_starting OpenSSH
a1c37c17 67 daemon /usr/sbin/sshd
cbd44157 68 RETVAL=$?
a1c37c17 69 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sshd
cf3b46d6 70 else
9ceb608e 71 msg_already_running OpenSSH
cf3b46d6 72 fi
cf3b46d6
AF
73 ;;
74 stop)
7d58fbb0 75 if [ -f /var/lock/subsys/sshd ]; then
cbd44157 76 msg_stopping OpenSSH
3007cef9
ER
77 # we use start-stop-daemon to stop sshd, as it is unacceptable for such
78 # critical service as sshd to kill it by procname, but unfortunately
79 # rc-scripts does not provide way to kill *only* by pidfile
80 start-stop-daemon --stop --quiet --pidfile /var/run/sshd.pid && ok || fail
81 rm -f /var/lock/subsys/sshd >/dev/null 2>&1
cbd44157 82 else
9ceb608e 83 msg_not_running OpenSSH
a1c37c17 84 fi
cf3b46d6 85 ;;
cbd44157 86 restart)
945a8076 87 checkconfig
cf3b46d6
AF
88 $0 stop
89 $0 start
bff0c7f8 90 exit $?
cf3b46d6
AF
91 ;;
92 status)
93 status sshd
cbd44157 94 exit $?
cf3b46d6 95 ;;
01d1f289 96 init)
0d883194 97 nls "Now the SSH host key will be generated. Please note, that if you"
98 nls "will use password for the key, you will need to type it on each"
99 nls "reboot."
ff7a4dcc 100 /usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key
b79cf855 101 [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_key || :
cf14c2df 102 chmod 600 /etc/ssh/ssh_host_key
ff7a4dcc 103 /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
b79cf855 104 [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_rsa_key || :
ff7a4dcc 105 chmod 600 /etc/ssh/ssh_host_rsa_key
7d58fbb0 106 /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
cf14c2df 107 chmod 600 /etc/ssh/ssh_host_dsa_key
b79cf855 108 [ -x /sbin/restorecon ] && /sbin/restorecon /etc/ssh/ssh_host_dsa_key || :
01d1f289 109 exit $?
36f63877 110 ;;
bff0c7f8 111 reload|force-reload)
0d883194 112 if [ -f /var/lock/subsys/sshd ]; then
113 msg_reloading OpenSSH
0d883194 114 killproc sshd -HUP
115 RETVAL=$?
0d883194 116 else
bbbbe539 117 msg_not_running OpenSSH
bff0c7f8 118 exit 7
0d883194 119 fi
36f63877 120 ;;
cf3b46d6 121 *)
bff0c7f8 122 msg_usage "$0 {start|stop|init|restart|reload|force-reload|status}"
123 exit 3
cf3b46d6
AF
124esac
125
cbd44157 126exit $RETVAL
This page took 0.365423 seconds and 4 git commands to generate.