feat: use entrypoint to create user account and copy ssh key

This commit is contained in:
Justin Lin committed 2024-10-14 12:06:05 +08:00
1 parent 261c6fc029
commit be22a121c8
4 files changed
+26 -14

No files matched your search

+2 -12
View File
@@ -21,19 +21,9 @@ RUN yarn install --modules-folder /usr/src/node_modules
ENV NODE_PATH=/usr/src/node_modules
COPY ./packages/container /usr/local/lib/container
COPY ./quests/.includes/zshrc /etc/zsh/zshrc
ENV USERNAME=commander
RUN adduser --disabled-password --gecos '' --shell /bin/zsh ${USERNAME}
COPY ./quests/sshd_config /etc/ssh/sshd_config
COPY ./config/ssh_key.pub /home/${USERNAME}/.ssh/authorized_keys
RUN chmod 600 /home/${USERNAME}/.ssh/authorized_keys \
&& chmod 700 /home/${USERNAME}/.ssh \
&& chown -R ${USERNAME}:${USERNAME} /home/${USERNAME}/.ssh
RUN rm -f /etc/motd /etc/issue /etc/issue.net /etc/update-motd.d/*
RUN service ssh start
COPY ./quests/sshd_config /etc/ssh/sshd_config
EXPOSE 22
CMD [ "/usr/sbin/sshd", "-D" ]
ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]
+16
View File
@@ -0,0 +1,16 @@
#!/bin/sh
USERNAME=commander
if ! id -u ${USERNAME} >/dev/null 2>&1; then
adduser --disabled-password --gecos '' --shell /bin/zsh ${USERNAME} && \
mkdir -p /home/${USERNAME}/.ssh && \
cp /ssh_key.pub /home/${USERNAME}/.ssh/authorized_keys && \
chmod 600 /home/${USERNAME}/.ssh/authorized_keys && \
chmod 700 /home/${USERNAME}/.ssh && \
chown -R ${USERNAME}:${USERNAME} /home/${USERNAME}/.ssh
fi
mkdir /run/sshd
echo "Starting SSH server"
/usr/sbin/sshd -D -e