懂的都懂,直接上脚本
[root@localhost ~]# cat host.txt 10.10.220.19 10.10.220.17
#!/bin/bash
###################################################
# script description: linux免密登陆+免密传输 \
# author: SpiralStory \
# created: 2021-11-09 \
# Mailboxes: 1529900860@qq.com \
# version: 1.0 \
###################################################
InFo_date(){
date=`date +%Y-%m-%d-%k:%M:%S`
}
InFo_Echo(){
echo -e " 33[32m${1} 33[0m"
}
InFo_Echo_2(){
echo -e " 33[33mt${1} 33[0m : 33[33m${2} 33[0m"
}
HostFile=`cat /root/host.txt`
InFo_sshkey(){
#删除本机旧密钥文件
rm -rf /root/.ssh/id_dsa*
#生成最新密钥文件
ssh-keygen -t dsa -f /root/.ssh/id_dsa -P "" -q
#遍历host文件
for ip in $HostFile
do
InFo_Echo "=======Batch the file to the host $ip=========="
sshpass -p 'perfma@1098' scp ~/.ssh/id_dsa.pub root@"$ip":/root/.ssh/authorized_keys
if [ $? -eq 0 ];then
InFo_Echo_2 IP:"$ip" "SSHkey Push Succeeded" else InFo_Echo_2 IP:"$ip" "SSHkey Push Failed"
fi
InFo_Echo "##########################END##########################n"
done
}
InFo_sshkey
接下来传文件和登陆服务器都不需要密码了



