git - 在 msysgit 窗口中永久添加 SSH key

标签 git ssh github msysgit

我的情况是,我需要我的 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

或重命名 mygithubkeyid_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 github1ssh github2 轻松切换 key 以进行连接。

关于git - 在 msysgit 窗口中永久添加 SSH key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7226860/

相关文章:

ios - 在 Xcode 中通过 git 添加新文件的问题

github - 如何在github中更改要点的名称?

Git 删除 -- 由 TortoiseGit 缓存

git - Netlify 环境变量中的 JSON

amazon-web-services - EC2 找不到 documentroot 文件夹

python - Python 的 Emacs 批量缩进

java - 使用 JSch 连接到远程 Windows 机器

python - 如何设置flask github.authorized处理程序收到的 "next"url?

git - 在 OS X 上使用 vi 添加 git 提交消息

ruby - 你能在公共(public)仓库上用 github 添加一个 webhook 通知吗?