19

我正在使用 ssh 并为我的系统设置了无密码 ssh。在脚本中使用 ssh 可以正常工作,但如果用户指定的主机没有无密码 ssh 设置,则脚本会提示输入密码并挂起。

如果没有为主机设置无密码 ssh,如何避免密码提示并返回错误?

4

2 回答 2

27
ssh -o PasswordAuthentication=no user@hostname

有关更多详细信息,请参见手册页ssh_config

于 2012-04-16T19:11:14.863 回答
7

设置PasswordAuthentication对我不起作用,但这确实:

ssh -o BatchMode=yes user@hostname

从 ssh_config(5)

BatchMode如果设置为“yes”,密码短语/密码查询将被禁用。此选项在没有用户提供密码的脚本和其他批处理作业中很有用。参数必须是“是”或“否”。默认值为“否”。

为了更好地衡量,您还可以输入StrictHostKeyChecking以便它会自动接受密钥并避免提示。

ssh -o StrictHostKeyChecking=no -o BatchMode=yes user@hostname
于 2018-06-27T23:22:21.570 回答