1.创建一个目录存放生成镜像相关文件
mkdir ssh_dockerfile && cd ssh_dockerfile
2.生成authorized_keys文件
ssh-keygen -t rsa
#按回车选择默认的没有密码。此时,会在生成一个文件~/.ssh/id_rsa.pub
cat ~/.ssh/id_rsa.pub >authorized_keys
3.编写Dockerfile
FROM debian:jessie
MAINTAINER 杨松<syang@amarsoft.com>
#更新apt-get源 使用sohu的源
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list && \
echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list && \
echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list && \
echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
#安装SSH服务
RUN apt-get update && apt-get install -y openssh-server net-tools vim &&\
mkdir -p /var/run/sshd &&\
mkdir -p /root/.ssh
#取消pam登录限制
RUN sed -i 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd
#添加认证文件和启动脚本
ADD authorized_keys /root/.ssh/authorized_keys
RUN echo "#!/bin/bash" > /root/run.sh &&\
echo "/usr/sbin/sshd -D" >> /root/run.sh &&\
chmod u+x /root/run.sh
#导出端口
EXPOSE 22
CMD ["/root/run.sh"]