sshd revision 1.19
11.1Slukem#!/bin/sh
21.1Slukem#
31.19Sjonb# $NetBSD: sshd,v 1.19 2004/02/18 17:36:34 jonb 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.19Sjonb		/usr/bin/ssh-keygen -t rsa1 ${ssh_keygen_flags} \
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.19Sjonb		/usr/bin/ssh-keygen -t dsa ${ssh_keygen_flags} \
371.19Sjonb		    -f /etc/ssh/ssh_host_dsa_key -N ''
381.9Sitojun	fi
391.9Sitojun
401.17Slukem	if [ -f /etc/ssh/ssh_host_rsa_key ]; then
411.15Senami		echo "You already have a RSA host key" \
421.17Slukem		    "in /etc/ssh/ssh_host_rsa_key"
431.9Sitojun		echo "Skipping protocol version 2 RSA Key Generation"
441.9Sitojun	else
451.19Sjonb		/usr/bin/ssh-keygen -t rsa ${ssh_keygen_flags} \
461.19Sjonb		    -f /etc/ssh/ssh_host_rsa_key -N ''
471.3Sjwise	fi
481.12Slukem	)
491.3Sjwise}
501.3Sjwise
511.6Slukemsshd_precmd()
521.6Slukem{
531.17Slukem	if [ ! -f /etc/ssh/ssh_host_key -o \
541.17Slukem	    ! -f /etc/ssh/ssh_host_dsa_key -o \
551.17Slukem	    ! -f /etc/ssh/ssh_host_rsa_key ]; then
561.16Senami		run_rc_command keygen
571.3Sjwise	fi
581.3Sjwise}
591.3Sjwise
601.3Sjwisekeygen_cmd=sshd_keygen
611.5Sjwisestart_precmd=sshd_precmd
621.3Sjwise
631.3Sjwiseload_rc_config $name
641.3Sjwiserun_rc_command "$1"
65