----------ssh公钥验证---基于Dockerfile生成镜像--要可以联网--前提要有centos:latest这个镜像----
实验思路:
1. 建立目录sshd
2.使用ssh-keygen -t rsa生成公钥与私钥,将公钥复制到sshd目录下并命名为authorized_keys
3.创建并修改Dockerfile文件和要在容器中执行的脚本文件run.sh
4.使用docker build命令生成镜像并验证登录
实验环境:192.168.80.185(www.ae.com)
mkdir sshd
ssh-keygen -t rsa //一直enter默认
cat .ssh/id_rsa.pub > sshd/authorized_keys
cd sshd/
vi Dockerfile
FROM centos
MAINTAINER The Centos Project<cloud-ops@centos.org>
RUN yum install -y openssh-server
RUN mkdir -p /var/run/sshd
RUN mkdir -p /root/.ssh
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 775 /run.sh
EXPOSE 22
CMD [ "/usr/sbin/init"]
CMD ["/run.sh"]
:wq
vi run.sh
#/bin/bash
/usr/sbin/sshd -D
:wq
docker build -t sshd:centos . // 生成镜像
docker images //检查镜像文件生成情况
docker run --privileged -itd -p 2222:22 f022cf937083 /usr/sbin/init //这里是镜像ID
docker exec -it f9542c6487b4 /bin/bash //这里是容器ID
测试能否远程登录: