summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/sshd
diff options
context:
space:
mode:
authorgordon <gordon@FreeBSD.org>2002-06-13 22:14:37 +0000
committergordon <gordon@FreeBSD.org>2002-06-13 22:14:37 +0000
commit9c5433cb225f7a4e56e87623ea2e4011179553a5 (patch)
tree3168589e209abd888b033397e3c46dee6131a116 /etc/rc.d/sshd
parent50d99cdfecd92f5323a18aa791a5b1cb9d8b7191 (diff)
downloadFreeBSD-src-9c5433cb225f7a4e56e87623ea2e4011179553a5.zip
FreeBSD-src-9c5433cb225f7a4e56e87623ea2e4011179553a5.tar.gz
Merge in all the changes that Mike Makonnen has been maintaining for a
while. This is only the script pieces, the glue for the build comes next. Submitted by: Mike Makonnen <makonnen@pacbell.net> Reviewed by: silence on -current and -hackers Prodded by: rwatson
Diffstat (limited to 'etc/rc.d/sshd')
-rwxr-xr-xetc/rc.d/sshd58
1 files changed, 40 insertions, 18 deletions
diff --git a/etc/rc.d/sshd b/etc/rc.d/sshd
index e31a028..416ab7f 100755
--- a/etc/rc.d/sshd
+++ b/etc/rc.d/sshd
@@ -1,48 +1,70 @@
#!/bin/sh
#
-# $NetBSD: sshd,v 1.7 2000/08/10 22:49:43 lukem Exp $
+# $NetBSD: sshd,v 1.18 2002/04/29 08:23:34 lukem Exp $
+# $FreeBSD$
#
# PROVIDE: sshd
# REQUIRE: LOGIN
+# KEYWORD: FreeBSD NetBSD
. /etc/rc.subr
name="sshd"
-rcvar=$name
+rcvar=`set_rcvar`
command="/usr/sbin/${name}"
+keygen_cmd="sshd_keygen"
+start_precmd="sshd_precmd"
pidfile="/var/run/${name}.pid"
-required_files="/etc/${name}.conf"
+required_files="/etc/ssh/sshd_config"
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"
+ (
+ umask 022
+
+ # Can't do anything if ssh is not installed
+ [ -x /usr/bin/ssh-keygen ] || {
+ warn "/usr/bin/ssh-keygen does not exist."
+ return 1
+ }
+
+ if [ -f /etc/ssh/ssh_host_key ]; then
+ echo "You already have an RSA host key" \
+ "in /etc/ssh/ssh_host_key"
+ echo "Skipping protocol version 1 RSA Key Generation"
+ else
+ /usr/bin/ssh-keygen -t rsa1 -b 1024 \
+ -f /etc/ssh/ssh_host_key -N ''
+ fi
+
+ if [ -f /etc/ssh/ssh_host_dsa_key ]; then
+ echo "You already have a DSA host key" \
+ "in /etc/ssh/ssh_host_dsa_key"
+ echo "Skipping protocol version 2 DSA Key Generation"
else
- umask 022
- /usr/bin/ssh-keygen -b 1024 -f /etc/ssh_host_key -N ''
+ /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_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"
+ if [ -f /etc/ssh/ssh_host_rsa_key ]; then
+ echo "You already have a RSA host key" \
+ "in /etc/ssh/ssh_host_rsa_key"
+ echo "Skipping protocol version 2 RSA Key Generation"
else
- umask 022
- /usr/bin/ssh-keygen -d -f /etc/ssh_host_dsa_key -N ''
+ /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
fi
+ )
}
sshd_precmd()
{
- if [ ! -f /etc/ssh_host_key -o ! -f /etc/ssh_host_dsa_key ]; then
- /etc/rc.d/sshd keygen
+ if [ ! -f /etc/ssh/ssh_host_key -o \
+ ! -f /etc/ssh/ssh_host_dsa_key -o \
+ ! -f /etc/ssh/ssh_host_rsa_key ]; then
+ run_rc_command keygen
fi
}
-keygen_cmd=sshd_keygen
-start_precmd=sshd_precmd
-
load_rc_config $name
run_rc_command "$1"
OpenPOWER on IntegriCloud