24 lines
1.1 KiB
Text
24 lines
1.1 KiB
Text
|
FROM docker.io/alpine:3.19.1
|
||
|
RUN apk add openssh-server bash
|
||
|
COPY sshd_config /etc/ssh/sshd_config
|
||
|
RUN /bin/bash -c "\
|
||
|
%{for idx, chroot_user in chrooted_users ~}
|
||
|
addgroup -g $((2000 + ${idx})) ${chroot_user.username} && \
|
||
|
adduser -D -G ${chroot_user.username} -u $((2000 + ${idx})) ${chroot_user.username} && \
|
||
|
echo '${chroot_user.username}:*' | chpasswd -e && \
|
||
|
mkdir -p ${chroot_user.chroot} && \
|
||
|
chown root:root ${chroot_user.chroot} && \
|
||
|
chmod 0755 ${chroot_user.chroot} && \
|
||
|
mkdir /home/${chroot_user.username}/.ssh && \
|
||
|
chown ${chroot_user.username}:${chroot_user.username} /home/${chroot_user.username}/.ssh && \
|
||
|
chmod 0700 /home/${chroot_user.username}/.ssh && \
|
||
|
touch /home/${chroot_user.username}/.ssh/authorized_keys && \
|
||
|
chown ${chroot_user.username}:${chroot_user.username} /home/${chroot_user.username}/.ssh/authorized_keys && \
|
||
|
chmod 0600 /home/${chroot_user.username}/.ssh/authorized_keys && \
|
||
|
echo '${chroot_user.ssh_public_key}' > /home/${chroot_user.username}/.ssh/authorized_keys && \
|
||
|
%{endfor ~}
|
||
|
:"
|
||
|
|
||
|
EXPOSE 22/tcp
|
||
|
ENTRYPOINT ["/usr/sbin/sshd", "-D", "-f", "/etc/ssh/sshd_config"]
|