git - 如何从 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 的设置时,我感到非常惊讶。
更多,可能相关的细节:
Buser 或与 Buser 关联的电子邮件不在 git config 设置中,不在全局级别,不在存储库级别。
Windows 中不会保存与 github 相关的凭据,除非它们使用与 github 完全不同的名称保存。
Buser 没有对新创建的 Auser 存储库的推送权限,显然它推送到了该存储库。
我最重要的问题是我无法在 Auser 下推送,但我的好奇心更多的是我如何能够以 Buser 的身份推送到 Auser 拥有的存储库,而 Buser 甚至没有设置任何 ssh 密钥?
除了 ssh 密钥之外,还有什么其他机制可以让 git bash 登录到 github 以便推送?
解决方案
推荐阅读
- facebook-messenger - FB Messenger DELETE 持久菜单请求不起作用
- azure-ad-b2c-custom-policy - 使用 github 操作部署 B2C_1A_TRUSTFRAMEWORKBASE 时遇到问题
- java - 如何使用 maven-jar-plugin 从自定义 jar 文件中排除 META-INF 文件夹
- java - 使用 Java 中的 Graphics2D.drawImage 在 Canvas 上绘制后,透明的 PNG 图像会改变颜色
- .htaccess - 将每个 url 重定向到索引 .php,即使它存在于使用 .htaccess 的项目中
- jupyter-notebook - 找不到造纸厂操作员的输出文件/文件夹。阿帕奇气流 2.0。假设在 tmp 文件夹中。Output_nb="/tmp/out-{{ execution_date }}.ipynb"
- reactjs - 如何将具有组件的状态存储在 localStorage 中?
- macos - 如何在visual studio代码vim扩展中将大写锁定键映射到esc?
- angular - 如何显示 Observable?
- python - Mypy:注释函数,其中返回类型取决于参数的类型