1bd23460a89cff6de8d8e30576bf80d25cc0deba
[people/pmueller/ipfire-2.x.git] / src / initscripts / init.d / sshd
1 #!/bin/sh
2 # Begin $rc_base/init.d/sshd
3
4 # Based on sysklogd script from LFS-3.1 and earlier.
5 # Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org
6
7 #$LastChangedBy: bdubbs $
8 #$Date: 2006-04-15 17:34:16 -0500 (Sat, 15 Apr 2006) $
9
10 . /etc/sysconfig/rc
11 . $rc_functions
12
13 case "$1" in
14 start)
15 if [ ! -e /etc/ssh/ssh_host_rsa_key ]; then
16 echo "Generating SSH Keys"
17 ssh-keygen -qf /etc/ssh/ssh_host_rsa_key -N ''
18 ssh-keygen -qf /etc/ssh/ssh_host_key -N '' -t rsa1
19 ssh-keygen -qf /etc/ssh/ssh_host_dsa_key -N '' -t dsa
20 fi
21
22 [ -e "/var/ipfire/remote/enablessh" ] || exit 0 # SSH is not enabled
23 boot_mesg "Starting SSH Server..."
24 # Also prevent ssh from being killed by out of memory conditions
25 loadproc /usr/sbin/sshd
26 sleep 3
27 echo "-16" >/proc/`cat /var/run/sshd.pid`/oom_adj
28 ;;
29
30 stop)
31 boot_mesg "Stopping SSH Server..."
32 killproc /usr/sbin/sshd
33 ;;
34
35 reload)
36 boot_mesg "Reloading SSH Server..."
37 reloadproc /usr/sbin/sshd
38 ;;
39
40 restart)
41 $0 stop
42 sleep 1
43 $0 start
44 ;;
45
46 status)
47 statusproc /usr/sbin/sshd
48 ;;
49
50 *)
51 echo "Usage: $0 {start|stop|reload|restart|status}"
52 exit 1
53 ;;
54 esac
55
56 # End $rc_base/init.d/sshd