无需密码执行 ssh 命令?

无需密码执行 ssh 命令?

我执行以下命令:

ssh -l admin hostname command

每次执行它时,系统都会要求我输入密码。既然我要把它放在 bash 脚本中,我该如何自动为其提供密码?

答案1

没问题。无需密码即可创建密钥:http://linuxproblem.org/art_9.html

答案2

如果 ssh 服务器不支持 publickey,使用 expect 脚本

#!/usr/bin/expect -f
set ipaddr [lrange $argv 0 0]
spawn ssh admin@$ipaddr
expect "Password:"
sleep 1
send "PASSWORD\r"
interact

然后运行

./script hostname

相关内容