summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/sshd
diff options
context:
space:
mode:
Diffstat (limited to 'etc/rc.d/sshd')
-rwxr-xr-xetc/rc.d/sshd48
1 files changed, 48 insertions, 0 deletions
diff --git a/etc/rc.d/sshd b/etc/rc.d/sshd
new file mode 100755
index 0000000..e31a028
--- /dev/null
+++ b/etc/rc.d/sshd
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# $NetBSD: sshd,v 1.7 2000/08/10 22:49:43 lukem Exp $
+#
+
+# PROVIDE: sshd
+# REQUIRE: LOGIN
+
+. /etc/rc.subr
+
+name="sshd"
+rcvar=$name
+command="/usr/sbin/${name}"
+pidfile="/var/run/${name}.pid"
+required_files="/etc/${name}.conf"
+extra_commands="keygen reload"
+
+sshd_keygen()
+{
+ if [ -f /etc/ssh_host_key ]; then
+ echo "You already have an RSA host key in /etc/ssh_host_key"
+ echo "Skipping RSA Key Generation"
+ else
+ umask 022
+ /usr/bin/ssh-keygen -b 1024 -f /etc/ssh_host_key -N ''
+ fi
+
+ if [ -f /etc/ssh_host_dsa_key ]; then
+ echo "You already have a DSA host key in /etc/ssh_host_dsa_key"
+ echo "Skipping DSA Key Generation"
+ else
+ umask 022
+ /usr/bin/ssh-keygen -d -f /etc/ssh_host_dsa_key -N ''
+ fi
+}
+
+sshd_precmd()
+{
+ if [ ! -f /etc/ssh_host_key -o ! -f /etc/ssh_host_dsa_key ]; then
+ /etc/rc.d/sshd keygen
+ fi
+}
+
+keygen_cmd=sshd_keygen
+start_precmd=sshd_precmd
+
+load_rc_config $name
+run_rc_command "$1"
OpenPOWER on IntegriCloud