mkdir sshd_ubuntu
cd sshd_ubuntu
touch Dockerfile run.sh
ssh免密码登录
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub > authorized_keys
run.sh
#!/bin/bash
/usr/sbin/sshd -D
Dockerfile
# 设置继承镜像
FROM ubuntu:18.04
# 提供一些作者的信息
MAINTAINER docker user (user@docker.com)
#下面开始运行命令, 此处更改ubuntu 的源为国内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 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"]
docker build -t sshd:dockerfile .
docker run -d -p 10122:22 sshd:dockerfile