创建目录和文件
1 2 3
| mkdir sshd_builder cd sshd_builder touch Dockerfile run.sh
|
编写run.sh脚本和authorized_keys文件
1 2 3
| #run.sh #!/bin/bash /usr/sbin/sshd -D
|
1
| cat ~/.ssh/id_rsa.pub >authorized_keys
|
编写Dockerfile文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| # 基础镜像 FROM ubuntu:18.04
# 维护者 LABEL maintainer hqd8080<github.com/hqd8080>
# 更换为163源码 RUN echo "deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse" > /etc/apt/sources.list RUN echo "deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list RUN echo "deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list RUN echo "deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list RUN echo "deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list RUN echo "deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list RUN echo "deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list RUN echo "deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list RUN echo "deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list RUN echo "deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list
RUN apt-get update
# 安装ssh服务 RUN apt-get install -y openssh-server RUN mkdir -p /var/run/sshd RUN mkdir -p /root/.ssh
# 取消pam限制 RUN sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd
# 复制文件到容器 ADD authorized_keys /root/.ssh/authorized_keys ADD run.sh /run.sh
# 修改执行权限 RUN chmod 755 /run.sh
# 开放端口 EXPOSE 22
# 设置自启动命令 CMD [ "/run.sh" ]
|
创建镜像
1 2
| cd sshd_builder docker build -t sshd_ubuntu:v1 .
|
运行容器
1
| docker run -d -p 2222:22 sshd_ubuntu
|
连接容器
1
| ssh 192.168.0.200 -p 2222
|
github地址
https://github.com/hqd8080/sshd_builder