rjm*_*nro 131 ssh authentication public-key
我有一个脚本,可以使用公钥身份验证通过 SSH 连接多台服务器。由于配置问题,其中一台服务器已停止让脚本登录,这意味着脚本卡在“密码:”提示中,它显然无法回答,因此它甚至不尝试其余服务器在列表中。
有没有办法告诉 ssh 客户端在密钥身份验证失败时不要提示输入密码,而只是报告连接错误并让我的脚本继续执行?
Kje*_*sen 165
对于 OpenSSH,有 BatchMode,除了禁用密码提示外,还应禁用对密钥的密码短语的查询。
批处理模式
如果设置为“是”,将禁用密码/密码查询。此选项在没有用户提供密码的脚本和其他批处理作业中很有用。论据必须是“是”或“否”。默认值为“否”。
示例用法:
ssh -oBatchMode=yes -l <user> <host> <dostuff>
Run Code Online (Sandbox Code Playgroud)
cas*_*cas 36
要为当前的 ssh 连接尝试禁用密码身份验证,请在命令行上传递此选项:
-o PasswordAuthentication=no
Run Code Online (Sandbox Code Playgroud)要为以后与任何主机的所有连接禁用密码身份验证,请将以下内容添加到您的~/.ssh/config:
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)要仅对某些主机禁用它,请将以下内容添加到 ~/.ssh/config:
Host host1 host2 host3...
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)以上选项适用于传出ssh 连接,即您尝试连接到远程 ssh 服务器的位置。
SSH服务器(即适用于所有在禁用密码验证传入的SSH连接),加入PasswordAuthentication no到/etc/ssh/sshd_config和重新启动sshd。
在命令行(或~/.ssh/config)上,您可以设置PreferredAuthentications.
PreferredAuthentications=publickey
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102010 次 |
| 最近记录: |