版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34646546/article/details/86555708
批量分发公钥
目标:实现免交互批量分发
- 问题01. 需要解决每次连接输入yes
加入一个参数 -o StrictHostKeyChecking=no 不要让我确认,我都同意
- 问题02. 需要解决密码输入问题
借助一个sshpass sshpass -p 123456
- 问题03. 被管理端如果端口号不是22端口,而是52113,如何分发公钥
加入一个参数 -p52113
解决问题参数信息整合
sshpass -p 123456 ssh-copy-id -p52113 -i 分发的公钥信息 172.16.1.31 -o StrictHostKeyChecking=no
以上命令可以实现免交互分发公钥信息
第一步:编写脚本
[root@m01 scripts]# vim push_keypub.sh
#!/bin/bash
for ip in 6 5 8
do
echo "=== 开始分发 $ip ==="
sshpass -p 123456 ssh-copy-id -i ~/.ssh/id_rsa.pub 172.16.1.$ip -o StrictHostKeyChecking=no >/dev/null 2>&1
密码
echo "=== 结束分发 $ip ==="
echo "successsful"
echo "=== 尝试登陆 $ip ==="
ssh 172.16.1.$ip $1
echo "=== $1 登陆成功 ==="
done
第二步:运行脚本
[root@m01 scripts]# sh push_keypub.sh "hostname -I"
=== 开始分发 6 ===
=== 结束分发 6 ===
successsful
=== 尝试登陆 6 ===
10.0.0.6 172.16.1.6
=== hostname -I 登陆成功 ===
=== 开始分发 5 ===
=== 结束分发 5 ===
successsful
=== 尝试登陆 5 ===
10.0.0.5 172.16.1.5
=== hostname -I 登陆成功 ===
=== 开始分发 8 ===
=== 结束分发 8 ===
successsful
=== 尝试登陆 8 ===
10.0.0.8 172.16.1.8
=== hostname -I 登陆成功 ===
[root@m01 scripts]#
成功批量分发