diff options
Diffstat (limited to 'etc/rc.d/sshd')
-rwxr-xr-x | etc/rc.d/sshd | 48 |
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" |