【发布时间】:2021-12-23 21:09:51
【问题描述】:
对不起,如果问题写得不好,我宁愿解释一下。一切工作正常,突然间我每次执行git push 时都会出错。我已经测试了我的 ssh 密钥,它似乎可以工作,所以我不知道发生了什么。
以下是 VSCode 集成终端发生的情况:
ssh -T git@github.com
Hi duke33!! You've successfully authenticated, but GitHub does not provide shell access.
然后当我尝试推送提交时:
git push
remote: No anonymous write access.
fatal: Authentication failed for 'https://github.com/duke33/SPRINT2-ITAcademey.git/'
如果你从 Linux mint 终端尝试相同的操作,我会收到相同的消息 ssh -T git@github.com ,当我推送时,我会推送:
Username for 'https://github.com': duke33
Password for 'https://duke33@github.com':
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/duke33/SPRINT2-ITAcademey.git/'
我不知道如何解决这个问题。希望有人能帮帮我!
PD:我尝试过使用令牌进行身份验证,但我想用 ssh 解决这个问题。
PD2:身份验证可以使用 shh,但现在不能,即使 shh 有效并在 git hub 上配置!
【问题讨论】:
-
终端的错误输出告诉你出了什么问题。密码身份验证不再有效,您的 git 似乎已设置为使用密码身份验证。正如您所说,您可以粘贴令牌而不是密码,这样就可以正常工作。如果要使用 SSH,则需要重新配置身份验证以使用 SSH 而不是密码验证。这是否回答了您的问题:stackoverflow.com/questions/14762034/…
-
您正在使用
https遥控器。更改为 ssh。git remote set-url origin git@github.com:duke33/sprint2....git。还有 gitlab != github,你为什么在 gitlab 上问? -
我不明白我是否必须为我拥有的每个存储库都这样做。难道不能像整个github那样做吗?
-
是的,您需要为每个存储库的(每个远程)执行此操作。
-
好吧,现在它正在工作。谢谢你们。这是一个新的麻烦。使用 https 远程设置的方式我不必执行此额外步骤,现在我必须这样做。