如何解决git从哪里检索凭证信息?
我已经用ssh克隆了一个存储库,进行了一些更改并尝试推送,但是我得到了
remote: Permission to repo.git denied to <account_1>.
我注意到account_1
不是我一直在使用的user_id。
用户ID很熟悉,似乎已经很久了
这真是令人惊讶,因为我注意到我现有的其他回购协议似乎工作正常。
我与git config -l
进行了核对,但帐户用户的电子邮件都正常。
有人知道会发生什么吗?
解决方法
Git没有。
我已经用ssh克隆了一个仓库...
处理授权和凭据的是 ssh 。 Git中没有内置ssh:Git仅运行 ssh。 1 因此,您只需运行ssh就可以诊断出该问题。
这是很常见的(因为GitHub除其他功能外),使用SSH通过git
登录名对服务器进行身份验证,就像通过运行ssh -Tvvv git@github.com
在调试输出中看到的那样。当您执行此类操作时,GitHub决定您的身份的方法是检查您发送的密钥。如果您有多个不同的密钥,并希望将一个特定的密钥发送到GitHub(或任何其他站点),则可以使用这种冗长的测试来查看实际发送的是哪个密钥。这样重复-v
三次(-Tvvv
等同于-T -v -v -v
)可以使ssh调试输出的详细程度达到最大。 -T
禁用pty分配,这在此处是适当的,因为GitHub仍然不允许您运行shell。
要了解如何配置自己的ssh,请参阅您特定系统的ssh文档,因为这有所不同。通常,它们中的大多数都在主目录中或主目录下使用目录(或文件夹,如果您更喜欢该术语),以存储配置信息和密钥:例如$HOME/.ssh
or $XDG_CONFIG_HOME/.config/ssh
。
1 Git 确实内置了libcurl,但是https身份验证更为复杂,因此,一般而言,Git在此依赖于特定于操作系统的帮助程序。无论出于何种原因,Https身份验证都比ssh多样化。使用ssh,您通常只说在该系统上使用此用户名,并且可以通过一次ssh调用来提供所有参数。有了libcurl,它会变得更...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。