首页 > 解决方案 > 如何从 git 用于登录的窗口中清除 ssh 密钥?

问题描述

我从这里的其他问题中了解到(如果我错了,请纠正我),github 根据它在我的计算机上(在 .ssh 文件夹中)看到的 ssh 密钥来识别用户。现在,这是一个奇怪的:

我有 2 个常规的免费 github 帐户。假设他们是 Auser 和 Buser。目前我并没有真正使用 Buser,我只需要使用 Auser。过去,我也使用过 Buser。

目前在我的 .ssh 文件夹中,我只有 2 个文件 id_rsa 及其对应的 id_rsa.pub。我知道我不应该像这样待在酒吧里,但目前这无关紧要。

所以,我去了github上Auser的设置页面并上传了pub。接下来我要做的是检查所有设置是否正确,所以我:

$ ssh -T git@github.com
Hi userA! You've successfully authenticated, but GitHub does not provide shell access.

到目前为止,一切都很好,所以我开始工作,阶段,提交,推送,没有错误。然后我在 github 上检查我的工作:

Buser 于 2 分钟前提交

我认为 Buser 可能设置了相同的 ssh 密钥,即使我读到 github 不允许,并阻止这种情况发生。我使用 Buser 在浏览器中登录 github 以检查设置的密钥。我已经有点兴奋了,我在 github 中发现了一个错误,它允许我在 2 个帐户上使用相同的密钥。当我看到在 SSH 密钥下实际上没有保存 Buser 的设置时,我感到非常惊讶。

更多,可能相关的细节:

我最重要的问题是我无法在 Auser 下推送​​,但我的好奇心更多的是我如何能够以 Buser 的身份推送到 Auser 拥有的存储库,而 Buser 甚至没有设置任何 ssh 密钥?

除了 ssh 密钥之外,还有什么其他机制可以让 git bash 登录到 github 以便推送?

标签: gitgithubssh

解决方案


推荐阅读