宿主机ssh免密登录docker容器

一、检查系统内核

二、安装docker

       1.yum install docker  -y

       2.docker version                    #查看docker版本

       3.systemctl restart docker     #启动docker服务

       4.groupadd docker & useradd -g docker docker

三、安装镜像

       docker pull [选项] :标签

       docker pull centos:7 

       docker images                      #查看本地所有镜像

       docker run -it  --name=jenkens centos    /bin/bash   #运行镜像

          -it : 交互式终端

         centos: 以基础镜像启动容器

         /bin/bash:交互式shell 使用bash

        补充两个命令:

          docker ps: 查看当前运行的容器

    docker ps -a:查看所有容器,包括停止的。

   

四、运行容器

   docker run -it -v /home/docker/build:/root/build --privileged -h hadoop1 --name hadoop1 centos /bin/bash

           #以centos镜像启动一个容器,容器名是jenkins1,主机名是jenkins1,并且将基于容器的centos系统的/root/build目录与本地/home/docker/build共享。

      1.yum install vim

      2.yum -y install openssh-server

      3.yum -y install openssh-clients

  编辑sshd的配置文件/etc/ssh/sshd_config,将其中的UsePAM yes改为UsePAM no
  vi /etc/ssh/sshd_config

/usr/sbin/sshd -D #启动ssh服务
.
报错如图,解决方案为:创建公私密钥,输入命令后,直接按两次enter键确认就行了
  ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key 

ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
  ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
   再次启动ssh服务 
/usr/sbin/sshd/ -D &
yum -y install lsof
lsof -i:22
passwd #修改容器root密码
测试
ssh localhost

   上图中可以看到已经登录到本机了,也就说容器中的主机拥有了ssh远程登录其它主机的能力,当然你也可以登录其他主机。要退出的话,输入命令exit即可

   

  

    $ vi /etc/hosts

    

    得到容器中的主机的ip地址172.17.0.2(可能和你得到的不一样)

    然后在宿主机中开启一个新的终端输入命令

$ ssh [email protected]

   输入密码就可以登录了

   

   配置ssh免密登录

   ssh-keygen -t rsa

    cd .ssh/

  cat id_rsa.pub >> authorized_keys

  ssh localhost

  

 


 
 
 





猜你喜欢

转载自www.cnblogs.com/394510636-ff/p/9280736.html