sshd revision 1.18
11.1Slukem#!/bin/sh
21.1Slukem#
31.18Slukem# $NetBSD: sshd,v 1.18 2002/04/29 08:23:34 lukem Exp $
41.5Sjwise#
51.1Slukem
61.6Slukem# PROVIDE: sshd
71.6Slukem# REQUIRE: LOGIN
81.1Slukem
91.1Slukem. /etc/rc.subr
101.1Slukem
111.1Slukemname="sshd"
121.8Slukemrcvar=$name
131.6Slukemcommand="/usr/sbin/${name}"
141.7Slukempidfile="/var/run/${name}.pid"
151.18Slukemrequired_files="/etc/ssh/sshd_config"
161.7Slukemextra_commands="keygen reload"
171.3Sjwise
181.6Slukemsshd_keygen()
191.6Slukem{
201.12Slukem	(
211.11Slukem	umask 022
221.17Slukem	if [ -f /etc/ssh/ssh_host_key ]; then
231.15Senami		echo "You already have an RSA host key" \
241.17Slukem		    "in /etc/ssh/ssh_host_key"
251.9Sitojun		echo "Skipping protocol version 1 RSA Key Generation"
261.3Sjwise	else
271.15Senami		/usr/bin/ssh-keygen -t rsa1 -b 1024 \
281.17Slukem		    -f /etc/ssh/ssh_host_key -N ''
291.3Sjwise	fi
301.3Sjwise
311.17Slukem	if [ -f /etc/ssh/ssh_host_dsa_key ]; then
321.15Senami		echo "You already have a DSA host key" \
331.17Slukem		    "in /etc/ssh/ssh_host_dsa_key"
341.9Sitojun		echo "Skipping protocol version 2 DSA Key Generation"
351.3Sjwise	else
361.17Slukem		/usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
371.9Sitojun	fi
381.9Sitojun
391.17Slukem	if [ -f /etc/ssh/ssh_host_rsa_key ]; then
401.15Senami		echo "You already have a RSA host key" \
411.17Slukem		    "in /etc/ssh/ssh_host_rsa_key"
421.9Sitojun		echo "Skipping protocol version 2 RSA Key Generation"
431.9Sitojun	else
441.17Slukem		/usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
451.3Sjwise	fi
461.12Slukem	)
471.3Sjwise}
481.3Sjwise
491.6Slukemsshd_precmd()
501.6Slukem{
511.17Slukem	if [ ! -f /etc/ssh/ssh_host_key -o \
521.17Slukem	    ! -f /etc/ssh/ssh_host_dsa_key -o \
531.17Slukem	    ! -f /etc/ssh/ssh_host_rsa_key ]; then
541.16Senami		run_rc_command keygen
551.3Sjwise	fi
561.3Sjwise}
571.3Sjwise
581.3Sjwisekeygen_cmd=sshd_keygen
591.5Sjwisestart_precmd=sshd_precmd
601.3Sjwise
611.3Sjwiseload_rc_config $name
621.3Sjwiserun_rc_command "$1"
63