我在 GitHub 上托管了一个项目。尝试将我的修改推送到主服务器时失败。我总是收到以下错误消息
Password for 'https://git@github.com': remote: Invalid username or password. fatal: Authentication failed for 'https://git@github.com/eurydyce/MDANSE.git/'
但是,将我的 ssh 密钥设置为 github 似乎没问题。确实,当我做 assh -T git@github.com我得到
ssh -T git@github.com
Hi eurydyce! You've successfully authenticated, but GitHub does not provide shell access.
这似乎表明从那方面一切都很好(eurydyce 是我的 github 用户名)。我严格遵循 github 上给出的说明和许多堆栈讨论的建议,但没有办法。你知道我可能做错了什么吗?
https://git@github.com/eurydyce/MDANSE.git不是 ssh url,它是 https 的(需要您的 GitHub 帐户名,而不是 ‘ git‘)。
git
尝试使用ssh://git@github.com:eurydyce/MDANSE.git或只是git@github.com:eurydyce/MDANSE.git
ssh://git@github.com:eurydyce/MDANSE.git
git@github.com:eurydyce/MDANSE.git
git remote set-url origin git@github.com:eurydyce/MDANSE.git
OP Pellegrini Eric补充道:
这就是我在~/.gitconfig当前包含以下条目的文件中所做的[remote "origin"] url=git@github.com:eurydyce/MDANSE.git
~/.gitconfig
[remote "origin"] url=git@github.com:eurydyce/MDANSE.git
这不应该在您的全局配置中(在 中的那个~/)。 您可以签git config -l入您的 repo:该 url 应在 本地 配置中声明:<yourrepo>/.git/config。
~/
git config -l
<yourrepo>/.git/config
因此,请确保在执行git remote set-url命令时位于 repo 路径中。
git remote set-url
如回答中所述,如果激活了双因素身份验证 (2FA),HTTPS URL 将不会使用用户名/密码。
在这种情况下,密码应该是PAT(个人访问令牌),如“在命令行上使用令牌”中所示。
这仅适用于 HTTPS URL,SSH 不受此限制的影响。