sshd revision 98184
1#!/bin/sh 2# 3# $NetBSD: sshd,v 1.18 2002/04/29 08:23:34 lukem Exp $ 4# $FreeBSD: head/etc/rc.d/sshd 98184 2002-06-13 22:14:37Z gordon $ 5# 6 7# PROVIDE: sshd 8# REQUIRE: LOGIN 9# KEYWORD: FreeBSD NetBSD 10 11. /etc/rc.subr 12 13name="sshd" 14rcvar=`set_rcvar` 15command="/usr/sbin/${name}" 16keygen_cmd="sshd_keygen" 17start_precmd="sshd_precmd" 18pidfile="/var/run/${name}.pid" 19required_files="/etc/ssh/sshd_config" 20extra_commands="keygen reload" 21 22sshd_keygen() 23{ 24 ( 25 umask 022 26 27 # Can't do anything if ssh is not installed 28 [ -x /usr/bin/ssh-keygen ] || { 29 warn "/usr/bin/ssh-keygen does not exist." 30 return 1 31 } 32 33 if [ -f /etc/ssh/ssh_host_key ]; then 34 echo "You already have an RSA host key" \ 35 "in /etc/ssh/ssh_host_key" 36 echo "Skipping protocol version 1 RSA Key Generation" 37 else 38 /usr/bin/ssh-keygen -t rsa1 -b 1024 \ 39 -f /etc/ssh/ssh_host_key -N '' 40 fi 41 42 if [ -f /etc/ssh/ssh_host_dsa_key ]; then 43 echo "You already have a DSA host key" \ 44 "in /etc/ssh/ssh_host_dsa_key" 45 echo "Skipping protocol version 2 DSA Key Generation" 46 else 47 /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' 48 fi 49 50 if [ -f /etc/ssh/ssh_host_rsa_key ]; then 51 echo "You already have a RSA host key" \ 52 "in /etc/ssh/ssh_host_rsa_key" 53 echo "Skipping protocol version 2 RSA Key Generation" 54 else 55 /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' 56 fi 57 ) 58} 59 60sshd_precmd() 61{ 62 if [ ! -f /etc/ssh/ssh_host_key -o \ 63 ! -f /etc/ssh/ssh_host_dsa_key -o \ 64 ! -f /etc/ssh/ssh_host_rsa_key ]; then 65 run_rc_command keygen 66 fi 67} 68 69load_rc_config $name 70run_rc_command "$1" 71