我有一个依赖于公钥/私钥 ssh 身份验证的脚本。问题在于某些系统配置错误并且没有设置正确的 ssh 公钥/私钥信任。当发生这种情况时,ssh
请我提供阻止脚本执行的密码。我尝试过这个命令:
sudo ssh -o "PasswordAuthentication=no" -o "ChallengeResponseAuthentication=no" root@last-call
但我仍然收到输入 root 密码的提示。
答案1
执行此操作的规范方法是使用以下BatchMode
选项:
ssh -o BatchMode=yes …
根据手动的:
如果设置为“yes”,将禁用密码短语/密码查询。此选项在没有用户提供密码的脚本和其他批处理作业中非常有用。
PasswordAuthentication=no
我本以为和的组合ChallengeResponseAuthentication=no
就足够了。ssh -vv
可能会提供线索。