我的情况是,我需要我的 msysgit 使用不同的 key 与 github 通信。然而 git bash 坚持使用名为 id_rsa 的 key 文件 ONLY。如果我执行 ssh -vT git@github.com,我只会看到提供了 id_rsa。
因此,每当我需要使用任何其他 key 时,我都必须执行所有这些操作,
ssh-agent bash
ssh-add ~/.ssh/mygithubkey
git clone git@github.com:myaccount/myrepo.git
或重命名 mygithubkey
为 id_rsa
每当我需要它备份原始 id_rsa 到另一个文件 anotherkey
当然这很痛苦,尤其是因为命令历史在常规 git bash 中也不同。
stackoverflow 中的其他答案仅有助于实现我的上述解决方法。如果我这样做
ssh-add ~/.ssh/mygithubkey
直接在我的 git bash 中,它说无法连接到 ssh-agent。如果我这样做
ssh-agent ssh-add ~/.ssh/mygithubkey
git pull
ssh -vT git@github.com
直接在我的 git bash 中,它说权限被拒绝,看来 ssh-add
并没有真正永久添加 key !并且在详细模式下查看调试消息时不提供添加的 key 。
当 sshing 进入 github 时,是否有永久添加要提供的 ssh key 列表?我现在主要是 Windows 用户,所以请详细回答。
最佳答案
我建议使用类似于 this answer 的 ~/.ssh/config
文件.像这样的东西:
Host github1
User git
Hostname github.com
IdentityFile ~/.ssh/mygithubkey
Host github2
User git
Hostname github.com
IdentityFile ~/.ssh/myothergithubkey
这样您就可以通过键入 ssh github1
或 ssh github2
轻松切换 key 以进行连接。
关于git - 在 msysgit 窗口中永久添加 SSH key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7226860/