From 0c46aa05e68dda40eb7f5b6f25b32a0fe32841a9 Mon Sep 17 00:00:00 2001
From: startxfr <clarue@startx.fr>
Date: Fri, 5 Dec 2014 21:42:47 +0100
Subject: modification de la gestion du serveur ssh

---
 Services/ssh/sx/sshd.sh     | 63 +++++++++++++++++++++++++++++++++++++++++++++
 Services/ssh/sx/sshd_run.sh |  8 ++++++
 2 files changed, 71 insertions(+)
 create mode 100644 Services/ssh/sx/sshd.sh
 create mode 100644 Services/ssh/sx/sshd_run.sh

(limited to 'Services/ssh/sx')

diff --git a/Services/ssh/sx/sshd.sh b/Services/ssh/sx/sshd.sh
new file mode 100644
index 0000000..795fff5
--- /dev/null
+++ b/Services/ssh/sx/sshd.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+export TERM=dumb
+export logfile="/var/log/sshd.log"
+
+# Begin configuration before starting daemonized process
+# and start generating host keys
+function begin_config {
+    echo "=> Begin sshd configuration for host $HOSTNAME"
+    mkdir -p /var/run/sshd
+}
+
+# End configuration process just before starting daemon
+function end_config {
+    echo "=> End sshd configuration ..."
+}
+
+# Perform installation of ssh keys 
+function install_host_keys {
+    local mail=$1;
+    if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then
+        echo "===> Installing sshd host keys for $mail ..."
+        generate_host_key rsa $mail /etc/ssh/ssh_host_rsa_key
+        generate_host_key ecdsa $mail /etc/ssh/ssh_host_ecdsa_key
+    else
+        echo "===> sshd host key found at /etc/ssh/ssh_host_rsa_key ..."
+    fi;
+}
+
+
+# generate key and store
+function generate_host_key {
+    local format=$1; local mail=$2; local dest=$3;
+    echo "===> Generating $format sshd key for $mail recorded in $dest"
+    ssh-keygen -t $format -C $mail -f $dest -N ''
+}
+
+# Start the sshd server in background. Used to perform config
+# against the database structure such as user creation
+function start_server {
+    echo "===> Starting sshd server ..."
+    /usr/sbin/sshd &
+    sleep 8
+}
+
+# Stop the sshd server running in background. 
+function stop_server {
+    echo "===> Stopping sshd server ..."
+    killall sshd
+    sleep 8
+}
+
+# Start the sshd server as a deamon and execute it inside 
+# the running shell
+function start_daemon {
+    echo "=> Starting sshd daemon ..."
+    exec /usr/sbin/sshd -D
+}
+
+
+if [[ "$0" == *"sshd.sh" && ! $1 = "" ]];then
+    eval "$@"; 
+fi
\ No newline at end of file
diff --git a/Services/ssh/sx/sshd_run.sh b/Services/ssh/sx/sshd_run.sh
new file mode 100644
index 0000000..2aec330
--- /dev/null
+++ b/Services/ssh/sx/sshd_run.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+source /sx/sshd.sh
+
+begin_config
+install_host_keys "root@localhost"
+end_config
+
+start_daemon
\ No newline at end of file
-- 
cgit v1.2.3