FROM ubuntu:20.04
# 替换镜像
# ADD sources.list /etc/apt/sources.list.d/aliyun.list
# 更新
RUN apt-get update
# 安装ssh服务
RUN apt-get install -y openssh-server
RUN apt-get install -y python2.7
RUN apt-get install -y net-tools bash-completion
RUN apt-get install -y iputils-ping
RUN apt-get install -y tree
RUN apt-get install -y bridge-utils
RUN apt-get install -y vim
RUN mkdir -p /var/run/sshd
RUN mkdir -p /root/.ssh/
# 修改root密码,便于远程登录
RUN echo root:123456 | chpasswd
# 将key生成在指定文件内
RUN rm -fr /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -P '' -N ''
# 配置ssh可以使用root登陆
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# 时区
RUN rm -fr /etc/localtime && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# 开放22端口
EXPOSE 22
ENTRYPOINT [ "/usr/sbin/init"]
构建镜像docker build -t ssh-ubuntu:20.04 .
REPOSITORY TAG IMAGE ID CREATED SIZE
ssh-ubuntu 20.04 5fdf944573df 33 seconds ago 284MB
运行镜像: docker run --privileged=true -itd --name ssh-ubuntu -p 222:22 -v /data:/data ssh-ubuntu:20.04
删除配置docker stop ssh-ubuntu && docker rm ssh-ubuntu
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c220e8a272b7 ssh-ubuntu:20.04 "/usr/sbin/init" 5 seconds ago Up 4 seconds 0.0.0.0:222->22/tcp, :::222->22/tcp ssh-ubuntu
docker exec -it ssh-ubuntu bash
查看ip配置docker exec -it ssh-ubuntu ifconfig
连接sshssh -p 222 root@localhost, 也可以使用222端口连接宿主机ssh -p 222 root@ud1.
通过ansible控制自动化, host配置
tmp ansible_ssh_host=ud1 ansible_ssh_port=222 ansible_ssh_pass='123456'
[target]
tmp
Content type
Image
Digest
sha256:a6070cc01…
Size
120.9 MB
Last updated
over 3 years ago
docker pull atxiaoming/ssh-ubuntu:20.04