宿主机ssh免密登录docker容器
Posted 394510636-ff
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宿主机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
以上是关于宿主机ssh免密登录docker容器的主要内容,如果未能解决你的问题,请参考以下文章