批量添加ssh密钥脚本

批量添加ssh密钥脚本

脚本1:

使用sshpass实现

#!/bin/bash

IP=2.2.2
PASS=123456
ssh-keygen -P "" -f /root/.ssh/id_rsa &> /dev/null
rpm -q sshpass &> /dev/null||yum -y install sshpass &> /dev/null
for i in {1..100};do
	echo "正在为$i导入"
{
	sshpass -p $PASS ssh-copy-id -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa.pub $IP.$i &> /dev/null
}&
done
wait

脚本2:

结合expect工具实现

#!/bin/bash

IP=2.2.2
US=root
PW=123456

for i in $IP.{1..100} ;do
expect <<-EOF
set timeout 20
spawn ssh-copy-id $US@$i
expect {
  "yes/no" {send "yes\n";exp_continue}
  "password" {send "$PW\n"}
}
expect eof
EOF
done
posted @ 2022-01-27 21:13  suyanhj  阅读(137)  评论(0)    收藏  举报