sshd revision 1.21
11.1Slukem#!/bin/sh 21.1Slukem# 31.21Schristos# $NetBSD: sshd,v 1.21 2011/07/25 03:04:23 christos Exp $ 41.5Sjwise# 51.1Slukem 61.6Slukem# PROVIDE: sshd 71.6Slukem# REQUIRE: LOGIN 81.1Slukem 91.20Smycroft$_rc_subr_loaded . /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.21Schristos if [ -f /etc/ssh/ssh_host_ecdsa_key ]; then 411.21Schristos echo "You already have a ECDSA host key" \ 421.21Schristos "in /etc/ssh/ssh_host_ecdsa_key" 431.21Schristos echo "Skipping protocol version 1 ECDSA Key Generation" 441.21Schristos else 451.21Schristos /usr/bin/ssh-keygen -t ecdsa -b 521 \ 461.21Schristos -f /etc/ssh/ssh_host_ecdsa_key -N '' 471.21Schristos fi 481.21Schristos 491.17Slukem if [ -f /etc/ssh/ssh_host_rsa_key ]; then 501.15Senami echo "You already have a RSA host key" \ 511.17Slukem "in /etc/ssh/ssh_host_rsa_key" 521.9Sitojun echo "Skipping protocol version 2 RSA Key Generation" 531.9Sitojun else 541.19Sjonb /usr/bin/ssh-keygen -t rsa ${ssh_keygen_flags} \ 551.19Sjonb -f /etc/ssh/ssh_host_rsa_key -N '' 561.3Sjwise fi 571.12Slukem ) 581.3Sjwise} 591.3Sjwise 601.6Slukemsshd_precmd() 611.6Slukem{ 621.17Slukem if [ ! -f /etc/ssh/ssh_host_key -o \ 631.17Slukem ! -f /etc/ssh/ssh_host_dsa_key -o \ 641.21Schristos ! -f /etc/ssh/ssh_host_ecdsa_key -o \ 651.17Slukem ! -f /etc/ssh/ssh_host_rsa_key ]; then 661.16Senami run_rc_command keygen 671.3Sjwise fi 681.3Sjwise} 691.3Sjwise 701.3Sjwisekeygen_cmd=sshd_keygen 711.5Sjwisestart_precmd=sshd_precmd 721.3Sjwise 731.3Sjwiseload_rc_config $name 741.3Sjwiserun_rc_command "$1" 75