如何使用私钥指向ssh文件夹以自动选择一个?

Pat*_*ryk 8 ssh key-authentication

我希望能够使用

ssh user@host

没有-i identity_rsa_or_else_private_key_file. 配置中是否有某个地方ssh可以指出私钥所在的位置,以便ssh自动选择一个进行连接(这样我就不必键入了-i key_file)?

jsb*_*ngs 12

我建议阅读ssh_config手册页。如果您想为每个主机拥有一个特定的身份,而为所有其他主机拥有一个特定的身份,请在您的 ~/.ssh/config 中执行以下操作:

Host hostname.example.com
    IdentityFile ~/.ssh/identity_rsa_or_else_private_key_file

Host *
    IdentityFile ~/.ssh/another_identity_file
Run Code Online (Sandbox Code Playgroud)

默认情况下,它~/.ssh/id_rsa用于 RSA 身份和~/.ssh/id_dsaDSA 身份的 IdentityFile ,因此如果您不想更改 ~/.ssh/config,您可以将文件重命名为该名称。

  • 请注意,`IdentityFile` 只会**将**添加到您的密钥代理已经提供给 SSH 客户端的密钥。如果您的密钥代理已经有 N 个可用的密钥,它将尝试使用 N+1 个密钥进行身份验证,并将您指定的密钥作为最后一个。到那时,某些 SSH 服务器已经阻止了您。使用 `ssh -vvv` 进行检查,您可能希望通过启用 `IdentitiesOnly` 来禁用 SSH 密钥代理。 (3认同)