我正在尝试在我的计算机上设置多个 Github.com 帐户。我已经按照 本教程以及这里的这个教程进行操作。但是,我遇到了问题。我正在开发 Windows 上的 Unbuntu Linux 子系统。
我的 ssh 配置文件如下:
# personal git hub
Host github.com
Hostname github.com
User git
IdentityFile ~/.ssh/id_ecdsa_gh
# work git hub
Host github-work
Hostname github.com
User git
IdentityFile ~/.ssh/id_ecdsa
问题是,如果我将我的个人(主要)github 帐户的主机指定为github.com
并推送与此帐户关联的存储库,那么此帐户的一切正常。但是,工作帐户不再有效,我在终端收到一条消息说Please make sure you have the correct access rights and the repository exists.
如果我然后更改我的config
文件并将个人帐户的主机指定为类似的东西,personal
那么它不再起作用,但我的工作帐户将开始正常工作。如果我同时更改了这两个主机,github.com
那么我的工作帐户可以推送,但我的个人帐户无法识别。如果我将两者都设置为,github.com
那么我的个人帐户将再次起作用,而我的工作帐户则不起作用。
除了上述更改主机名的测试外,我还尝试过删除和更新密钥,但不起作用。我还尝试通过使用ssh -T myname-git
and测试 git 是否可以识别 ssh 密钥ssh -T work-git
。在这样做时,我会收到消息告诉我Hi [account name] successfully authenticated, but Github does not provide shell access
。所以这些键都可以正常工作并且被 Github 识别。我真的不确定是什么原因造成的。我已经清除并重新添加了密钥ssh-add
并且我检查了我正在使用的存储库在本地与正确的帐户相关联,并且没有意外与错误的帐户相关联的提交。此外,我检查了 Windows 上的全局帐户和 Linux 子系统上的全局帐户是否都设置为我的个人帐户的凭据。我也通过堆栈上的问答来查看类似的问题,但没有一个建议的方法为我解决了这个问题。
谁能建议可能出了什么问题以及我该如何解决?
谢谢阅读。