1 安装pdsh(Parallel Distributed Shell)
sudo apt install pdsh
sudo -s # 切换超级用户身份
echo "ssh" > /etc/pdsh/rcmd_default
vi ~/.bashrc
~/.bashrc
文件末尾添加export PDSH_RCMD_TYPE=ssh
2 配置Docker和不同主机之间的桥接
在需要桥接的所有主机中互相绑定并设置无密码访问
- 编辑每个主机/
etc/hosts
文件添加不同主机ip
(需要桥接的所有主机ip
),并对不同主机设置自定义名称
vi /etc/hosts
如下,需要桥接的主机为192.168.35.200
以及192.168.35.224
,并设置自定义名称ag
和ds
:
- 编辑
~/.ssh/config
文件,设置与目标主机地址ssh
连接时的默认目标用户:例如在224
主机的root
用户中设置ag
(192.168.35.200
)的默认用户为ag
、在200
主机中的ag
用户中设置ds
(192.168.35.224
)的默认用户为root
。Host
表示主机的地址,User
表示主机的用户
vi ~/.ssh/config
不同主机添加对应内容:
在docker容器加入:
3 共享密匙
在每个主机将本机密匙发送到目标主机:
注:
i. 初次连接需要分别输入yes和目标主机密码
ii. 配置密匙直接按Enter
① 在200依次运行下列指令
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub | ssh ds 'cat >> ~/.ssh/authorized_keys'
② 在224依次运行下列指令
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub | ssh ag 'cat >> ~/.ssh/authorized_keys'
③ 在docker依次运行下列指令
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub | ssh ds 'cat >> ~/.ssh/authorized_keys'
cat ~/.ssh/id_rsa.pub | ssh ag 'cat >> ~/.ssh/authorized_keys'
4 测试
分别在不同主机使用ssh测试是否不需要密码可以连接
200:
ssh ds
224:
ssh ag
docker:
ssh ag
ssh ds
不需要密码且正常连接则表示桥接完成。