[BACK]Return to sshd CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / etc / rc.d

File: [cvs.NetBSD.org] / src / etc / rc.d / sshd (download)

Revision 1.5.2.6, Fri Mar 30 22:37:49 2001 UTC (23 years ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001
Changes since 1.5.2.5: +3 -2 lines

Pull up revision 1.10 (requested by itojun):
  Auto-generate SSH protocol version 2 RSA key.
  Use newer command syntax (``-t <type>'' instead of ``-d'').
(fix to previous)

#!/bin/sh
#
# $NetBSD: sshd,v 1.5.2.6 2001/03/30 22:37:49 he 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 protocol version 1 RSA Key Generation"
	else
		umask 022
		/usr/bin/ssh-keygen -t rsa1 -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 protocol version 2 DSA Key Generation"
	else
		umask 022
		/usr/bin/ssh-keygen -t dsa -f /etc/ssh_host_dsa_key -N ''
	fi

	if [ -f /etc/ssh_host_rsa_key ]; then
		echo "You already have a RSA host key in /etc/ssh_host_rsa_key"
		echo "Skipping protocol version 2 RSA Key Generation"
	else
		umask 022
		/usr/bin/ssh-keygen -t rsa -f /etc/ssh_host_rsa_key -N ''
	fi
}

sshd_precmd()
{
	if [ ! -f /etc/ssh_host_key -o ! -f /etc/ssh_host_dsa_key -o \
	     ! -f /etc/ssh_host_rsa_key ]; then
		/etc/rc.d/sshd keygen
	fi
}

keygen_cmd=sshd_keygen
start_precmd=sshd_precmd

load_rc_config $name
run_rc_command "$1"