summaryrefslogtreecommitdiffstats
path: root/system-config/components/1160-openssh-server
blob: 80bc201426e43272f44833c0e90a256273e5de1b (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
49
#!/bin/sh

## live-config(7) - System Configuration Components
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
##
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
## This is free software, and you are welcome to redistribute it
## under certain conditions; see COPYING for details.


#set -e

Init ()
{
	# Checking if package is installed or already configured
	if [ ! -e /var/lib/dpkg/info/openssh-server.list ] || \
	   [ -e /var/lib/live/config/openssh-server ]
	then
		exit 0
	fi

	echo -n " openssh-server"
}

Config ()
{
	for _PROTOCOL in dsa rsa ecdsa ed25519
	do
		if [ ! -e /etc/ssh/ssh_host_${_PROTOCOL}_key ] &&
		   grep -qs ssh_host_${_PROTOCOL}_key /etc/ssh/sshd_config
		then
			ssh-keygen -q -f /etc/ssh/ssh_host_${_PROTOCOL}_key -N "" -t ${_PROTOCOL}

			_SSH="true"
		fi
	done

	sed -i -e 's|#\(PasswordAuthentication\) yes|\1 no|' /etc/ssh/sshd_config

	case "${_SSH}" in
		true)
			# Creating state file
			touch /var/lib/live/config/openssh-server
			;;
	esac
}

Init
Config