别慌---centos7.4下docker实现**SSHD远程登录OK!!!

----------ssh公钥验证---基于Dockerfile生成镜像--要可以联网--前提要有centos:latest这个镜像----

实验思路:

1. 建立目录sshd

2.使用ssh-****** -t rsa生成公钥与私钥,将公钥复制到sshd目录下并命名为authorized_keys

3.创建并修改Dockerfile文件和要在容器中执行的脚本文件run.sh

4.使用docker build命令生成镜像并验证登录

实验环境:192.168.80.185(www.ae.com)

mkdir sshd

ssh-****** -t rsa             //一直enter默认

cat .ssh/id_rsa.pub > sshd/authorized_keys

cd sshd/

vi Dockerfile

FROM centos

MAINTAINER The Centos Project<[email protected]>

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  .         // 生成镜像

 别慌---centos7.4下docker实现**SSHD远程登录OK!!!

docker images                       //检查镜像文件生成情况

 别慌---centos7.4下docker实现**SSHD远程登录OK!!!

docker run --privileged -itd -p 2222:22 f022cf937083 /usr/sbin/init   //这里是镜像ID  

 别慌---centos7.4下docker实现**SSHD远程登录OK!!!

 别慌---centos7.4下docker实现**SSHD远程登录OK!!!

docker exec -it f9542c6487b4 /bin/bash            //这里是容器ID

测试能否远程登录:

别慌---centos7.4下docker实现**SSHD远程登录OK!!!