diff options
| -rw-r--r-- | Services/ssh/.ssh/authorized_keys | 3 | ||||
| -rw-r--r-- | Services/ssh/Dockerfile | 12 | ||||
| -rw-r--r-- | Services/ssh/sx/sshd.sh | 63 | ||||
| -rw-r--r-- | Services/ssh/sx/sshd_run.sh | 8 | 
4 files changed, 79 insertions, 7 deletions
| diff --git a/Services/ssh/.ssh/authorized_keys b/Services/ssh/.ssh/authorized_keys index 0dbe4dc..ef8ed1e 100644 --- a/Services/ssh/.ssh/authorized_keys +++ b/Services/ssh/.ssh/authorized_keys @@ -1 +1,2 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7pCBSddCIi/lOH+z6KdkyS/JLGFCQTH8u+JyHoqUj8X9nVty6xBWNTdYDq5/0vUFLUtOxMlX9noV8JddA/XFAWpGmQU8KDq3dcqjWJXZ4NUiXwDrysP7JryVXBDidZC16ObAGw58a2/5BiXs+WGoSkkNUFZN3rbIaurrth1ODD67YZiL+Jzts2KyJednn8bM+rmmMvvhKFzV4QnmgbYF0OvdAucaMTWrdmkuY/VVse1l2LxxEx2IFz/q6dxH8uuQUGXjESXlHw5I0Fi0lhMDQ9M8xqI9AKeu87R+UPKxyOZjwGpz5Fui5yKuJOHsjY57Mze5wTOnu+YdVxJOwpJhN cl@startx.fr
\ No newline at end of file +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7pCBSddCIi/lOH+z6KdkyS/JLGFCQTH8u+JyHoqUj8X9nVty6xBWNTdYDq5/0vUFLUtOxMlX9noV8JddA/XFAWpGmQU8KDq3dcqjWJXZ4NUiXwDrysP7JryVXBDidZC16ObAGw58a2/5BiXs+WGoSkkNUFZN3rbIaurrth1ODD67YZiL+Jzts2KyJednn8bM+rmmMvvhKFzV4QnmgbYF0OvdAucaMTWrdmkuY/VVse1l2LxxEx2IFz/q6dxH8uuQUGXjESXlHw5I0Fi0lhMDQ9M8xqI9AKeu87R+UPKxyOZjwGpz5Fui5yKuJOHsjY57Mze5wTOnu+YdVxJOwpJhN cl@startx.fr +ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMHb1BVc0//5yjm35TR26UIX9Gk1omNl3Z0OZTm36ZsohzXLgHWxtI+eUofI0rw8k/PeCZMoaQK2MlIijuL7eMM= cl@alcorecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKBbjgNez6Bn/ngVpW0J/KBF42J2lcdyFWbYmnTCdkoUC7qks9Uy3WgJqqhkCIfIvm4jOOZuKJCD2WSPYD2TB00= cl@startx.fr diff --git a/Services/ssh/Dockerfile b/Services/ssh/Dockerfile index 904a064..2ad849c 100644 --- a/Services/ssh/Dockerfile +++ b/Services/ssh/Dockerfile @@ -4,13 +4,13 @@ MAINTAINER Christophe LARUE <dev@startx.fr>  # Install packages and set up sshd  RUN yum -y update \      && yum -y install openssh-server \ -    && yum clean all -RUN mkdir /var/run/sshd \ -    && ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' - +    && yum clean all  +# Copy startx toolkit +COPY sx/* /sx/  # Copy ssh keys  COPY .ssh/authorized_keys /root/.ssh/authorized_keys +RUN chmod ug+rx /sx/sshd* +  EXPOSE 22 -CMD ["/usr/sbin/sshd", "-D"] -ONBUILD CMD ["/usr/sbin/sshd", "-D"] +CMD ["/sx/sshd_run.sh"]
\ No newline at end of file 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 | 
