Alpine Linux SSH服务以及Docker化¶
在Alpine Linux安装部署SSH服务非常简便,而且容器化SSH服务也非常容易。
在Alpine Linux服务器上,安装
openssh
sudo apk add openssh
激活
sshd
服务:sudo rc-update add sshd
启动
sshd
服务:sudo service sshd start
可以通过定制
/etc/ssh/sshd_config
实现安全加固
Alpine Linux环境OpenSSH服务容器化¶
从Dockerfile构建Docker镜像 可以方便我们构建运行SSH服务的Alpine Linux容器,在该文中我整理了不同发行版的构建SSH服务方法,其中 Alpine Linux 非常简单(设置密码登陆方式)
ssh容器
Dockerfile
:
../../docker/admin/dockerfile/alpine-ssh¶
FROM alpine:latest
RUN apk add --update --no-cache openssh sudo
RUN apk update && apk upgrade
RUN echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config
RUN adduser -u 502 -G wheel -h /home/huatai -s /bin/sh -D huatai
RUN echo -n 'huatai:some_password_here' | chpasswd
RUN echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 22
COPY entrypoint.sh /
并准备
entrypoint.sh
:
../../docker/admin/dockerfile/entrypoint.sh¶
#!/bin/sh
ssh-keygen -A
exec /usr/sbin/sshd -D -e "$@"
然后执行构建镜像命令:
chmod +x -v entrypoint.sh docker build -t alpine-ssh .
使用以下命令启动容器:
docker run -itd --hostname x-dev --name x-dev -p 122:22 alpine-ssh:latest