commit ecab42144acdb2d24a76ec54b61aa3f70910463a Author: Luca Rullo Date: Sat Feb 26 19:27:02 2022 +0100 Init: SSH docker for hosting diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4d32ff6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM registry.sindominio.net/debian + +RUN apt-get update && apt-get install -y openssh-server + +RUN mkdir /var/run/sshd + +COPY sshd_config /etc/ssh/sshd_config + +ADD entrypoint.sh / +ADD start.sh / + +VOLUME /home/user/httpdocs + +EXPOSE 22 + +ENTRYPOINT [ "/bin/sh", "/entrypoint.sh" ] +CMD ["/bin/sh", "/start.sh"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..0ce3361 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +version: "3" +services: + ssh: + build: . + environment: + SSH_USER: user + SSH_PASS: pass + ports: + - "0.0.0.0:2133:22" + volumes: + - ./data:/home/user/httpdocs + restart: always diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..7a5f625 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -e; + +echo $SSH_USER:$SSH_PASS +if [ -z `getent passwd $SSH_USER` ]; then useradd $SSH_USER -d /home/user; fi +echo "$SSH_USER:$SSH_PASS" | chpasswd + +#echo "/bin/false" | tee -a /etc/shells +usermod $SSH_USER -s /bin/false + +exec $@ diff --git a/sshd_config b/sshd_config new file mode 100644 index 0000000..548f867 --- /dev/null +++ b/sshd_config @@ -0,0 +1,10 @@ +Port 22 +ChallengeResponseAuthentication no +UsePAM yes +X11Forwarding no +PrintMotd no +AcceptEnv LANG LC_* +Subsystem sftp internal-sftp +ForceCommand internal-sftp +ChrootDirectory %h +AllowTcpForwarding no diff --git a/start.sh b/start.sh new file mode 100644 index 0000000..80d09fe --- /dev/null +++ b/start.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +touch /var/log/ssh +/usr/sbin/sshd -E /var/log/ssh +tail -f /var/log/ssh