sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次输入密码。
使用方式:
-p password
#后跟密码 例:sshpass -p 123456 ssh root@10.63.3.121
-f filename
#后跟保存密码的文件名,密码是文件内容的第一行
例:sshpass -f passwd.txt ssh root@10.64.4.123-e
#将环境变量SSHPASS作为密码
例:[root@testing~]
# export SSHPASS=123456
[root@testing~]
# sshpass -e ssh root@10.54.2.134
使用场景:
配合ssh远程执行命令,非常适合新机器的初始化操作。
#!/bin/bash
while read i
do
passWord=`echo $i| awk '{print $6}'`
IPADRESS=`echo $i| awk '{print $1}'
echo ------------------------------------------------------------------------------------------------------------$IPADRESS
sshpass -p "$passWord" ssh root@$IPADRESS "bash"<init_meachine_check.sh
sshpass -p "$passWord" ssh root@$IPADRESS "bash"<check.sh
sshpass -p "$passWord" ssh root@$IPADRESS "bash"</home/zone/script/check_meachine/tmp.sh
done < /home/zone/script/check_meachine/host.txt