1#!/bin/sh 2# 3# $NetBSD: sshd,v 1.30 2019/10/23 14:45:38 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; 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 37ecdsa 521 ssh_host_ecdsa_key 38ed25519 -1 ssh_host_ed25519_key 39rsa 0 ssh_host_rsa_key 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