sshd revision 1.28
1#!/bin/sh
2#
3# $NetBSD: sshd,v 1.28 2018/05/26 00:17:54 jmcneill 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 '' -q && \
34		    printf "ssh-keygen: " && "${keygen}" -f "${f}" -l
35	done << _EOF
36dsa	1024	ssh_host_dsa_key	2	DSA
37ecdsa	521	ssh_host_ecdsa_key	1	ECDSA
38ed25519	-1	ssh_host_ed25519_key	1	ED25519
39rsa	0	ssh_host_rsa_key	2	RSA
40xmss	0	ssh_host_xmss_key	1	XMSS
41_EOF
42)
43}
44
45sshd_precmd()
46{
47	run_rc_command keygen
48}
49
50keygen_cmd=sshd_keygen
51start_precmd=sshd_precmd
52
53load_rc_config $name
54run_rc_command "$1"
55