首页 > 解决方案 > 通过 SSH 密钥使用多个 Github 帐户

问题描述

我最近获得了访问 Github 存储库的权限,我将work通过 SSH 密钥访问该存储库。

我为我的帐户(我将调用me它)使用 SSH 密钥,这没有给我带来任何问题,并且可以继续为该帐户下的任何存储库正常操作。

我的config文件是这样设置的

Host me.github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/me

Host work.github.com
     HostName github.com
     User git
     IdentityFile ~/.ssh/work

当我尝试使用ssh-add -l两个密钥时,两个帐户都添加了正确的公钥。

发送命令ssh -T git@github.com返回Hi me! You've successfully authenticated, but GitHub does not provide shell access.,但如果我发送命令ssh -T git@work.github.com,它会以正确的方式响应。

fetch 和 push 的来源都设置为 ssh 链接,由git remote -v

我已经尝试遵循这个要点这篇 Medium 文章这个 StackOverflow 问题,以及其他一些没有成功的问题。

我可能还应该包括我在通过 Chocolatey 安装的 Windows 10 LTSB build 14393、Powershell 5.1、git 版本 2.19.1.windows.1 和 posh-git 0.7.3.1 上运行。

标签: gitpowershellgithubssh

解决方案


首先,检查您的两个 SSH 密钥:

ssh -Tv me.github.com
ssh -Tv work.github.com

其次,您可以在 repo 中添加两个 URL 以进行测试:

git remote set-url origin me.github.com:<auser>/<arepo>
git remote origin originWork work.github.com:<auser>/<arepo>

git@(网址中不需要)

从那里,您可以使用一个或另一个原点来拉/推。


推荐阅读