在Windows上的Git中的多个ssh密钥之间切换

我需要在客户端有多个密钥来访问Repository托pipe中的两个不同的帐户。 请参阅https://redefy.repositoryhosting.com/support – >如何在客户端上pipe理多个密钥对的多个帐户?

我不明白如何在Windows上的Git中的不同SSH密钥之间进行切换,任何人都可以帮助我?

我假设你使用git bash和openssh。

就像文章中写的一样,您可以为ssh客户端创建一个配置文件,列出您的所有账户。 您可以在~/.ssh/config中将自己的ssh客户端配置文件写入以下配置

 Host account-one HostName server.example.com User user-one IdentityFile ~/.ssh/key-one Host account-two HostName server.example.com User user-two IdentityFile ~/.ssh/key-two 

它所说的是你定义了两种名为account-oneaccount-two “主机别名”。 如果你使用它们,当连接时,ssh客户端将使用相应的HostNameUserIdentityFile作为服务器地址,用户名和ssh密钥文件。 有了这个,你可以使用它们访问你的帐户和密钥,甚至在同一台服务器上。

在git中,你可以使用它们来定义两个遥控器

 $ git remote add one account-one:repository.git $ git remote add two account-two:repository.git 

那么你可以推到那些遥控器

 $ git push one master $ git push two master 

哪个密钥用于哪个服务器由git用来连接的SSH程序处理。 在默认设置中,这应该是命令行SSH客户端(openSSH?)。

使用openSSH,你可以为~/.ssh/config文件中的特定主机配置特定的密钥文件:

 Host foo.example.com IdentityFile ~/.ssh/foo.example.com-id_rsa Host bar.example.com IdentityFile ~/.ssh/bar.example.com-id_rsa 

其中~/.ssh/*.example.com-id_rsa是每个服务器的私钥文件。

我希望这有帮助。

在Windows上,您应该尝试Pageant为PuTTY,PSCP,PSFTP和Plink的SSH身份验证代理。 这个工具可以管理你的SSH密钥及其通行短语。 要将它与Git一起使用,您必须安装Putty并链接到设置GIT_SSH变量的plink.exe。

  1. 安装腻子和朋友(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
  2. 设置GIT_SSH

    set GIT_SSH=<path-to-plink.exe>

  3. 启动Pageant并添加您的密钥
  4. 运行Git

丹尼尔

我会间接回答这个问题。 我以前使用过git bash,而且我发现当我通过git bash shell使用git时,它的行为就像一个mac或linux bash shell。 意思是,当使用git bash时,我可以回答你的问题:

'如果你使用git bash,你可以使用ssh-agent / ssh-add和friends'来管理多个账户,就像你在linux或mac上一样。