小编zop*_*eux的帖子

SSH:防止在 ssh-agent 身份验证失败时询问密码

我正在编写一个脚本来循环浏览已知主机名的列表,以便找到一个可以使用我的 SSH 密钥进行身份验证的工作 SSH 服务器。

密钥已经加载ssh-agentand ssh-add,因此如果我连接到知道我的密钥的工作远程主机,则不会提示密码,并且我无需任何交互即可成功连接。

事情是,当远程主机不知道我的密钥时,ssh会用密码提示我(它没有机会成功,因为如果可以的话,由于 ,它已经让我登录了ssh-agent)。我想防止这种行为并sshssh-agent身份验证失败时中止。

我目前正在使用以下命令绕过大部分交互,但我无法阻止我刚刚描述的交互:

$ ssh -i ~/.ssh/id_rsa                      \
      -o UserKnownHostsFile=/dev/null       \
      -o KbdInteractiveAuthentication=no    \
      -o StrictHostKeyChecking=no           \
      -o PreferredAuthentications=publickey \
      -o ConnectTimeout=1                   \
      $host -n "whoami"
Run Code Online (Sandbox Code Playgroud)

感谢您的回答。

ssh passphrase ssh-agent

4
推荐指数
1
解决办法
348
查看次数

标签 统计

passphrase ×1

ssh ×1

ssh-agent ×1