summaryrefslogtreecommitdiffstats
path: root/system-config/components/1160-openssh-server
diff options
context:
space:
mode:
Diffstat (limited to 'system-config/components/1160-openssh-server')
-rwxr-xr-xsystem-config/components/1160-openssh-server49
1 files changed, 49 insertions, 0 deletions
diff --git a/system-config/components/1160-openssh-server b/system-config/components/1160-openssh-server
new file mode 100755
index 0000000..80bc201
--- /dev/null
+++ b/system-config/components/1160-openssh-server
@@ -0,0 +1,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