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

请我喝杯水
SoulChild 微信号 微信号
SoulChild 微信打赏 微信打赏
0%