如何将多个私钥与 ssh 一起使用?

Jos*_*hua 64 ssh authentication

我能够设置 ssh 以使用私钥/公钥身份验证。现在我能够做到

ssh user@server1
Run Code Online (Sandbox Code Playgroud)

它使用私钥登录。现在我想连接到另一台服务器并使用不同的密钥。怎么设置成这样

ssh user@server1
Run Code Online (Sandbox Code Playgroud)

使用私钥1

ssh user@server2
Run Code Online (Sandbox Code Playgroud)

并使用 privatekey2

Ama*_*rus 61

您可以在您的~/.ssh/config文件中进行设置。你会有这样的事情:

Host server1
IdentityFile ~/.ssh/key_file1

Host server2
IdentityFile ~/.ssh/key_file2
Run Code Online (Sandbox Code Playgroud)

man ssh_config 是参考

  • 您还可以为每个主机指定“用户”以减少击键次数。最后,当您使用 `ssh-keygen` 为每个主机生成新的 SSH 密钥时,请确保您实际输入了备用密钥路径。 (4认同)

Sup*_*ire 52

有几个选项。

  1. 使用 将两个密钥加载到您的 ssh 代理中ssh-add。然后当连接到两个服务器时,两个密钥都可用

  2. 创建您的$HOME/.ssh/config文件并Host为 server1创建一个部分,为 server2创建另一个部分。在每个Host部分中,添加一个IdentityFile指向相应私钥文件的选项

  • ssh 代理是个好主意,如果我在 ~/.ssh 中同时拥有公钥和私钥文件,即 key1 和 key1.pub,它会自动加载它们。 (2认同)