我需要在客户端有多个密钥来访问Repository托pipe中的两个不同的帐户。 请参阅https://redefy.repositoryhosting.com/support – >如何在客户端上pipe理多个密钥对的多个帐户?
我不明白如何在Windows上的Git中的不同SSH密钥之间进行切换,任何人都可以帮助我?
在共享托pipeSubversion结帐?
在Mercurial两个接近的回购
移动gitolite服务器
在SVN中如何检测到冲突?
我假设你使用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-one和account-two “主机别名”。 如果你使用它们,当连接时,ssh客户端将使用相应的HostName , User和IdentityFile作为服务器地址,用户名和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。
安装腻子和朋友(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
设置GIT_SSH
set GIT_SSH=<path-to-plink.exe>
启动Pageant并添加您的密钥
运行Git
丹尼尔
我会间接回答这个问题。 我以前使用过git bash,而且我发现当我通过git bash shell使用git时,它的行为就像一个mac或linux bash shell。 意思是,当使用git bash时,我可以回答你的问题:
'如果你使用git bash,你可以使用ssh-agent / ssh-add和friends'来管理多个账户,就像你在linux或mac上一样。