git从何处检索凭据信息?
我已经用ssh克隆了一个repo,做了一些更改并尝试推送,但我成功了git从何处检索凭据信息?,git,ssh-keys,Git,Ssh Keys,我已经用ssh克隆了一个repo,做了一些更改并尝试推送,但我成功了 remote: Permission to repo.git denied to <account_1>. remote:对repo.git的权限被拒绝。 我注意到,account\u 1不是我一直使用的用户id。 用户id很熟悉,似乎是很久以前留下的 这相当令人惊讶,因为我注意到我的其他现有回购协议似乎运作良好 我用git config-l检查了一下,但是账户用户的电子邮件都没有问题 有人知道会发生什么吗?G
remote: Permission to repo.git denied to <account_1>.
remote:对repo.git的权限被拒绝。
我注意到,account\u 1
不是我一直使用的用户id。
用户id很熟悉,似乎是很久以前留下的
这相当令人惊讶,因为我注意到我的其他现有回购协议似乎运作良好
我用git config-l检查了一下,但是账户用户的电子邮件都没有问题
有人知道会发生什么吗?Git不知道
我已经用ssh克隆了一个repo
ssh处理授权和凭据。Git没有内置ssh:Git只是运行ssh.1,这意味着您可以通过运行ssh来诊断这个问题
这是非常常见的,因为GitHub使用SSH使用git
login对服务器进行身份验证,正如您将通过运行SSH-tvv看到的调试输出一样git@github.com
。当您执行此类操作时,GitHub决定您是谁的方式是检查您发送的密钥。如果您有多个不同的密钥,并且希望将一个特定的密钥发送到GitHub(或任何其他站点),您可以使用这种详细的测试来查看实际发送的密钥。像这样重复-v
三次--tvv
相当于-T-v-v
-将ssh调试输出的详细程度提高到最大。-T
禁用pty分配,这在这里是合适的,因为GitHub无论如何都不允许您运行shell
要了解如何配置自己的ssh,请参阅特定系统的ssh文档,因为这会有所不同。通常,它们中的大多数使用主目录中或主目录下的目录(或文件夹,如果您喜欢该术语)来存储配置信息和密钥:例如
1Git确实内置了libcurl,但https身份验证更为复杂,所以一般来说Git依赖于特定于操作系统的助手。无论出于何种原因,Https身份验证都比ssh更加多样化;对于ssh,您通常只需要说在这个系统上使用这个用户名,并且可以通过一次ssh调用提供所有参数。对于libcurl,它是。。。messier.我相信默认情况下它的读数是.ssh/id\u rsa,所以它会尝试将其与远程密钥匹配。但我可能误解了你。请检查你的远程服务器的url:用于连接远程服务器的帐户在那里定义。
user.name
和user.email
用于提交中的作者
和提交者
字段,它们与你用于与远程服务器通信的凭据无关。