自动获取正确的 SSH 密钥

Right SSH key is automatically picked up

我创建了一个新的 DO droplet 并使用 ssh-keygen 为其生成了新的 ssh 密钥对,然后将 public 密钥上传到我的 droplet。在我用户的 .ssh 文件夹中,我有 3 个 ssh 密钥对。问题是我能够通过任何密钥作为 -i 的参数登录到我的服务器,例如,如果我这样做 ssh user@domain.com 我可以成功登录,即使 public 我服务器中的密钥是 NOT id_rsa.pub。我也可以做 ssh -i .ssh/another_key user@domain.com,这也行。似乎只要密钥在 .ssh/ 文件夹中,我就不需要指定它,因为它会自动拾取它,但我不知道这是否是正常行为,我在中找不到任何东西文档。我应该担心这个吗?我有时没有得到 ssh。

当您尝试连接到服务器时,

ssh 将尝试多个(实际上,最多三个)私钥。

如果你 运行 ssh -v user@domain.com 你应该看到这样的输出:

debug1: Trying private key: /home/user/.ssh/id_dsa
debug1: Trying private key: /home/user/.ssh/id_ecdsa
debug1: Trying private key: /home/user/.ssh/id_ed25519

那是 ssh 尝试从您的 ~/.ssh/ 目录中获取密钥。