ssh免秘钥登录

该脚本展示了如何使用SSH Passphrase自动化执行SSH操作,包括删除SSH密钥、生成新的SSH密钥、安装sshpass、将SSH公钥复制到远程主机,并进行网络扫描找出活动IP。然后将.ssh目录和known_hosts文件拷贝到所有主机,实现无须手动确认的互相访问。
摘要由CSDN通过智能技术生成
#!/bin/bash
PASS=1234567
rm -rf /root/.ssh
ssh-keygen -P "" -f /root/.ssh/id_rsa
apt install -y sshpass
AliveIP=("10.0.0.80" \
"10.0.0.81" \
"10.0.0.82" \
"10.0.0.85" \
"10.0.0.86" \
"10.0.0.87" \
"10.0.0.90" \
"10.0.0.91" \
"10.0.0.92"
)
for n in ${AliveIP[*]};do
sshpass -p $PASS ssh-copy-id -o StrictHostKeyChecking=no  root@${n}:
done

#!/bin/bash
PASS=1234567
#设置网段最后的地址,4-255之间,越小扫描越快
END=254

IP=`ip a s eth0 | awk -F'[ /]+' 'NR==3{print $3}'`
NET=${IP%.*}.

rm -f /root/.ssh/id_rsa
[ -e ./SCANIP.log ] && rm -f SCANIP.log
for((i=3;i<="$END";i++));do
ping -c 1 -w 1  ${NET}$i &> /dev/null  && echo "${NET}$i" >> SCANIP.log &
done
wait

ssh-keygen -P "" -f /root/.ssh/id_rsa
rpm -q sshpass || yum -y install sshpass
sshpass -p $PASS ssh-copy-id -o StrictHostKeyChecking=no $IP 

AliveIP=(`cat SCANIP.log`)
for n in ${AliveIP[*]};do
sshpass -p $PASS scp -o StrictHostKeyChecking=no -r /root/.ssh root@${n}:
done

#把.ssh/known_hosts拷贝到所有主机,使它们第一次互相访问时不需要输入回车
for n in ${AliveIP[*]};do
scp /root/.ssh/known_hosts ${n}:.ssh/
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值