我有一个脚本,它将在 host1 上运行,但会对 host2 进行一些 ssh 调用。如果未设置 host1->host2 无密码 ssh,则该脚本将不起作用。如何检测是否设置了无密码 ssh?
如果我做类似的事情:
`ssh host2 ls`
if [[ $? -eq 0 ]]; then
echo "Passwordless SSH works..."
else
echo "Don't have passwordless SSH"
但是无密码 ssh 不存在,它挂在密码提示处。
基本上,我想调用 ssh,但如果服务器要求输入密码,客户端就会死机。
答案1
通过 '-o' 参数使用 PasswordAuthentication 选项来连接 ssh。如果需要密码,连接将失败。