ssh批量分发公钥简易脚本
警告
本文最后更新于 2020-05-30 17:09,文中内容可能已过时。
#非交互生成密钥对,生成前确认.ssh目录下没有同名文件,否则会提示是否覆盖
[root@m01 ~]# ssh-keygen -t rsa -f /root/.ssh/id_rsa -P ""
参数:
-t:指定算法
-f:指定文件路径以及文件名
-P:设置密码。““为空密码
sshpass -pmima ssh-copy-id -i /root/.ssh/id_rsa.pub -oStrictHostkeyChecking=no root@$n
参数:
sshpass
-p:指定密码
ssh-copy-id
-i:指定公钥文件路径
-oStrictHostkeyChecking=no:临时关闭真实性提示
#使用脚本需要先在/tmp/ip_list文件中写好IP,
[root@m01 scripts]# cat ssh-copy-id.sh
#!/bin/bash
if [ -f "/root/.ssh/id_rsa" ];then
echo "密钥已存在"
exit
#rm -f /root/.ssh/id_rsa*
fi
ssh-keygen -t dsa -f /root/.ssh/id_rsa -P "" >/dev/null 2>&1
for ip in `cat /tmp/ip_list`
do
sshpass -pmima ssh-copy-id -i /root/.ssh/id_rsa.pub -oStrictHostkeyChecking=no root@$ip > /dev/null 2>&1
[ $? -eq 0 ] && echo "$ip已分发完成" || echo "$ip分发失败"
done
[root@m01 scripts]# pssh -ih /tmp/ip_list hostname [1] 23:07:41 [SUCCESS] 172.16.1.7 web01 [2] 23:07:41 [SUCCESS] 172.16.1.41 backup [3] 23:07:41 [SUCCESS] 172.16.1.31 nfs01
请我喝杯水
微信号
微信打赏