summaryrefslogtreecommitdiffstats
path: root/base/openssh/sshd
diff options
context:
space:
mode:
Diffstat (limited to 'base/openssh/sshd')
-rw-r--r--base/openssh/sshd63
1 files changed, 63 insertions, 0 deletions
diff --git a/base/openssh/sshd b/base/openssh/sshd
new file mode 100644
index 000000000..468b89973
--- /dev/null
+++ b/base/openssh/sshd
@@ -0,0 +1,63 @@
+#!/bin/sh
+# Begin $rc_base/init.d/sshd
+
+# Based on sysklogd script from LFS-3.1 and earlier.
+# Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org
+# Add create user and Groups - thierryn1@hispeed.ch
+
+# $Id: sshd,v 1.2 2007/09/26 10:21:45 install Exp install $
+
+. /etc/sysconfig/rc
+. $rc_functions
+newgroup=sshd
+newuser=sshd
+newid=50
+getent group $newgroup > /dev/null || /usr/sbin/groupadd -g $newid $newgroup
+getent passwd $newuser > /dev/null || /usr/sbin/useradd -g $newgroup \
+-u $newid -d /var/lib/sshd -s /bin/false -c "sshd PrivSep" $newuser
+
+case "$1" in
+ start)
+ boot_mesg "Starting SSH Server..."
+ if [ ! -f /etc/ssh/ssh_host_key ]; then
+ /usr/bin/ssh-keygen -t rsa1 -N "" -f /etc/ssh/ssh_host_key
+ fi
+ if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then
+ /usr/bin/ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key
+ fi
+ if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then
+ /usr/bin/ssh-keygen -t dsa -N "" -f /etc/ssh/ssh_host_dsa_key
+ fi
+ # Also prevent ssh from being killed by out of memory conditions
+ loadproc /usr/sbin/sshd
+ sleep 1
+ echo "-16" >/proc/`cat /var/run/sshd.pid`/oom_adj
+ ;;
+
+ stop)
+ boot_mesg "Stopping SSH Server..."
+ killproc /usr/sbin/sshd
+ ;;
+
+ reload)
+ boot_mesg "Reloading SSH Server..."
+ reloadproc /usr/sbin/sshd
+ ;;
+
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+
+ status)
+ statusproc /usr/sbin/sshd
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|reload|restart|status}"
+ exit 1
+ ;;
+esac
+
+# End $rc_base/init.d/sshd