如何告诉git在从某个主机克隆时使用某些ssh IdentityFile?

时间:2016-05-24 16:23:20

标签: git ssh

api/v1/users/我有以下设置:

~/.ssh/config

然后我运行Host server1 Hostname myhostname1 User nsurname IdentityFile "~/.ssh/git1/id_rsa" Host server2 Hostname myhostname2 User nsurname IdentityFile "~/.ssh/git2/id_rsa" 命令从git clone下载存储库。它只有在我myhostname1直接放在'〜/ .ssh /'时才有效。因此,看起来我应该将一些额外的参数传递给id_rsa,以便它可以在git clone内找到id_rsa,而不是~/.ssh/git1

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以在〜/中拥有多个私钥(身份文件)。不同名称下的ssh文件夹说id_rsa_github,id_rsa_github等,并在〜/中引用它们。你已经完成了ssh / config。

答案 1 :(得分:0)

您需要使用

Host myhostname1
IdentityFile "~/.ssh/git1/id_rsa"
在您的配置中

,以便ssh能够将该主机名与该密钥配对。使用您提供的配置,它仅用于server1

如果要对所有主机使用该密钥,可以设置

Host *
IdentityFile "~/.ssh/git1/id_rsa"