我正在使用 ssh 并为我的系统设置了无密码 ssh。在脚本中使用 ssh 可以正常工作,但如果用户指定的主机没有无密码 ssh 设置,则脚本会提示输入密码并挂起。
如果没有为主机设置无密码 ssh,如何避免密码提示并返回错误?
我正在使用 ssh 并为我的系统设置了无密码 ssh。在脚本中使用 ssh 可以正常工作,但如果用户指定的主机没有无密码 ssh 设置,则脚本会提示输入密码并挂起。
如果没有为主机设置无密码 ssh,如何避免密码提示并返回错误?
ssh -o PasswordAuthentication=no user@hostname
有关更多详细信息,请参见手册页ssh_config
。
设置PasswordAuthentication对我不起作用,但这确实:
ssh -o BatchMode=yes user@hostname
从 ssh_config(5)
BatchMode如果设置为“yes”,密码短语/密码查询将被禁用。此选项在没有用户提供密码的脚本和其他批处理作业中很有用。参数必须是“是”或“否”。默认值为“否”。
为了更好地衡量,您还可以输入StrictHostKeyChecking以便它会自动接受密钥并避免提示。
ssh -o StrictHostKeyChecking=no -o BatchMode=yes user@hostname