【发布时间】:2011-11-05 19:29:54
【问题描述】:
我处于一种情况,我需要我的 msysgit 使用不同的键与 github 对话。然而 git bash 坚持使用名为 id_rsa ONLY 的密钥文件。如果我执行 ssh -vT git@github.com 我只会看到 id_rsa 被提供。
所以每当我需要使用任何其他键时,我都必须这样做,
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并没有真正永久添加密钥!并且在详细模式下查看调试消息时不提供添加的密钥。
在 ssh 到 github 时,是否有永久添加要提供的 ssh 密钥列表?我今天主要是 Windows 用户,所以请详细回答。
【问题讨论】:
-
为什么需要多个键?一把钥匙应该就是你所需要的。
-
你说得对,我可以一键搞定,但作为一个学术问题,这里的人们可以尝试回答吗??
-
这是可能的,但很麻烦,真的不值得这样做:help.github.com/multiple-ssh-keys