ssh如何使用多个私钥?


58

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

ssh user@server1

然后使用私钥登录。现在,我想连接到另一台服务器并使用其他密钥。如何设置它

ssh user@server1

使用privatekey1

ssh user@server2

并使用privatekey2


7
没有真正的理由-一个是个人的神话,另一个是工作服务器,我不想在工作中使用主键。
约书亚

答案似乎都无法回答完整的问题,例如,如何创建不同的密钥privatekey1和privatekey2
jpwynn 2016年

Answers:


49

有一些选择。

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

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


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

57

您可以在~/.ssh/config文件中进行设置。您将具有以下内容:

Host server1
IdentityFile ~/.ssh/key_file1

Host server2
IdentityFile ~/.ssh/key_file2

man ssh_config 是参考


4
您还可以指定User每个主机以减少按键。最后,当您为每个主机生成一个新的SSH密钥时,请ssh-keygen确保您确实输入了备用密钥路径。
Marco Ceppi

是否有一个选项可以指定默认密钥,比如说host x ->key1然后是其他主机key2
azerafati

是的,使用sh Host * And添加默认值,然后在下面添加替代。另外:sh man_ssh_config 特别是“主机”部分中与星号“ *”和感叹号“!”有关的部分
immeëmosol
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.