我执行以下命令:
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