summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/sshd
blob: e31a0282f86869a4f7dd712a2f261b6b04b8ee3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/sh
#
# $NetBSD: sshd,v 1.7 2000/08/10 22:49:43 lukem Exp $
#

# PROVIDE: sshd
# REQUIRE: LOGIN

. /etc/rc.subr

name="sshd"
rcvar=$name
command="/usr/sbin/${name}"
pidfile="/var/run/${name}.pid"
required_files="/etc/${name}.conf"
extra_commands="keygen reload"

sshd_keygen()
{
	if [ -f /etc/ssh_host_key ]; then
		echo "You already have an RSA host key in /etc/ssh_host_key"
		echo "Skipping RSA Key Generation"
	else
		umask 022
		/usr/bin/ssh-keygen -b 1024 -f /etc/ssh_host_key -N ''
	fi

	if [ -f /etc/ssh_host_dsa_key ]; then
		echo "You already have a DSA host key in /etc/ssh_host_dsa_key"
		echo "Skipping DSA Key Generation"
	else
		umask 022
		/usr/bin/ssh-keygen -d -f /etc/ssh_host_dsa_key -N ''
	fi
}

sshd_precmd()
{
	if [ ! -f /etc/ssh_host_key -o ! -f /etc/ssh_host_dsa_key ]; then
		/etc/rc.d/sshd keygen
	fi
}

keygen_cmd=sshd_keygen
start_precmd=sshd_precmd

load_rc_config $name
run_rc_command "$1"
OpenPOWER on IntegriCloud