检测无密码 SSH

检测无密码 SSH

我有一个脚本,它将在 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。如果需要密码,连接将失败。

相关内容