sshd revision 1.27
1#!/bin/sh
2#
3# $NetBSD: sshd,v 1.27 2018/04/09 15:02:39 christos Exp $
4#
5
6# PROVIDE: sshd
7# REQUIRE: LOGIN
8
9$_rc_subr_loaded . /etc/rc.subr
10
11name="sshd"
12rcvar=$name
13command="/usr/sbin/${name}"
14pidfile="/var/run/${name}.pid"
15required_files="/etc/ssh/sshd_config"
16extra_commands="keygen reload"
17
18sshd_keygen()
19{
20(
21	keygen="/usr/bin/ssh-keygen"
22	umask 022
23	while read type bits filename version name;  do
24		f="/etc/ssh/$filename"
25		if [ -f "$f" ]; then
26			continue
27		fi
28		case "${bits}" in
29		-1)	bitarg=;;
30		0)	bitarg="${ssh_keygen_flags}";;
31		*)	bitarg="-b ${bits}";;
32		esac
33		"${keygen}" -t "${type}" ${bitarg} -f "${f}" -N ''
34	done << _EOF
35dsa	1024	ssh_host_dsa_key	2	DSA
36ecdsa	521	ssh_host_ecdsa_key	1	ECDSA
37ed25519	-1	ssh_host_ed25519_key	1	ED25519
38rsa	0	ssh_host_rsa_key	2	RSA
39xmss	0	ssh_host_xmss_key	1	XMSS
40_EOF
41)
42}
43
44sshd_precmd()
45{
46	run_rc_command keygen
47}
48
49keygen_cmd=sshd_keygen
50start_precmd=sshd_precmd
51
52load_rc_config $name
53run_rc_command "$1"
54