From 8a942dc8f749dfe2978d6aca656649ac410d1051 Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Wed, 10 Oct 2018 20:09:26 -0700 Subject: [PATCH] Use latest base image --- Dockerfile | 10 ++----- sshd_config | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++ start.sh | 7 ++--- 3 files changed, 84 insertions(+), 12 deletions(-) create mode 100644 sshd_config diff --git a/Dockerfile b/Dockerfile index 44198b2..f32043d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,4 @@ -FROM cloudron/base:0.10.0 - -ENV VERSION 1.5.1 +FROM cloudron/base:1.0.0@sha256:147a648a068a2e746644746bbfb42eb7a50d682437cead3c67c933c546357617 RUN apt-get update && \ apt-get install -y openssh-server git && \ @@ -16,7 +14,7 @@ RUN passwd -d git RUN mkdir -p /home/git/gitea ## TODO: use redis as well -RUN curl -L https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64 -o /home/git/gitea/gitea \ +RUN curl -L https://dl.gitea.io/gitea/1.5.1/gitea-1.5.1-linux-amd64 -o /home/git/gitea/gitea \ && chmod +x /home/git/gitea/gitea # setup config paths @@ -31,9 +29,7 @@ RUN ln -s /app/data/gitconfig /home/git/.gitconfig ADD start.sh /home/git/start.sh -# disable pam authentication for sshd -RUN sed -e 's/UsePAM yes/UsePAM no/' -e 's/UsePrivilegeSeparation yes/UsePrivilegeSeparation no/' -i /etc/ssh/sshd_config -RUN echo "UseDNS no" >> /etc/ssh/sshd_config +COPY sshd_config /etc/ssh/sshd_config CMD [ "/home/git/start.sh" ] diff --git a/sshd_config b/sshd_config new file mode 100644 index 0000000..5dacaee --- /dev/null +++ b/sshd_config @@ -0,0 +1,79 @@ +# Package generated configuration file +# See the sshd_config(5) manpage for details + +# What ports, IPs and protocols we listen for +Port 29418 +# Use these options to restrict which interfaces/protocols sshd will bind to +ListenAddress 0.0.0.0 +Protocol 2 +# HostKeys for protocol version 2 +HostKey /app/data/sshd/ssh_host_rsa_key +HostKey /app/data/sshd/ssh_host_dsa_key +HostKey /app/data/sshd/ssh_host_ecdsa_key +HostKey /app/data/sshd/ssh_host_ed25519_key + +# Logging +SyslogFacility AUTH +LogLevel INFO + +# Authentication: +LoginGraceTime 120 +PermitRootLogin prohibit-password +StrictModes yes + +PubkeyAuthentication yes +#AuthorizedKeysFile %h/.ssh/authorized_keys + +# Don't read the user's ~/.rhosts and ~/.shosts files +IgnoreRhosts yes +# similar for protocol version 2 +HostbasedAuthentication no +# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication +#IgnoreUserKnownHosts yes + +# To enable empty passwords, change to yes (NOT RECOMMENDED) +PermitEmptyPasswords no + +# Change to yes to enable challenge-response passwords (beware issues with +# some PAM modules and threads) +ChallengeResponseAuthentication no + +# Change to no to disable tunnelled clear text passwords +#PasswordAuthentication yes + +# Kerberos options +#KerberosAuthentication no +#KerberosGetAFSToken no +#KerberosOrLocalPasswd yes +#KerberosTicketCleanup yes + +# GSSAPI options +#GSSAPIAuthentication no +#GSSAPICleanupCredentials yes + +X11Forwarding yes +X11DisplayOffset 10 +PrintMotd no +PrintLastLog yes +TCPKeepAlive yes +#UseLogin no + +#MaxStartups 10:30:60 +#Banner /etc/issue.net + +# Allow client to pass locale environment variables +AcceptEnv LANG LC_* + +Subsystem sftp /usr/lib/openssh/sftp-server + +# Set this to 'yes' to enable PAM authentication, account processing, +# and session processing. If this is enabled, PAM authentication will +# be allowed through the ChallengeResponseAuthentication and +# PasswordAuthentication. Depending on your PAM configuration, +# PAM authentication via ChallengeResponseAuthentication may bypass +# the setting of "PermitRootLogin without-password". +# If you just want the PAM account and session checks to run without +# PAM authentication, then enable this but set PasswordAuthentication +# and ChallengeResponseAuthentication to 'no'. +UsePAM no +UseDNS no diff --git a/start.sh b/start.sh index 5caeedc..81d3b5f 100755 --- a/start.sh +++ b/start.sh @@ -2,7 +2,7 @@ set -eu -o pipefail -mkdir -p /run/gitea/tmp/uploads +mkdir -p /run/gitea/tmp/uploads /run/sshd setup_ldap_source() { set -eu @@ -50,10 +50,7 @@ fi chmod 0600 /app/data/sshd/*_key chmod 0644 /app/data/sshd/*.pub -sed -e "s/^Port .*/Port ${SSH_PORT}/" \ - -e "s/^#ListenAddress .*/ListenAddress 0.0.0.0/" \ - -e "s,^HostKey /etc/ssh/,HostKey /app/data/sshd/," \ - /etc/ssh/sshd_config > /run/gitea/sshd_config +sed -e "s/^Port .*/Port ${SSH_PORT}/" /etc/ssh/sshd_config > /run/gitea/sshd_config cp /home/git/app.ini.template "/run/gitea/app.ini"