我已经尝试了此线程中提到的所有内容:推送到 Git 返回错误代码 403 fatal:HTTP 请求失败
我在我的 MacBook Pro 上创建了一个 GitHub 存储库,将一些工作从我的 Lenovo 笔记本电脑推送到它,并尝试在我的 Mac 上继续工作。我一直在 Windows 上使用 PAT 进行身份验证,但使用相同的 PAT 返回 Mac 时出现此错误。
我尝试过生成新的 PAT,但这没有用。我已经好几年没有将代码推送到 GitHub 了,以前甚至不需要密码来执行此操作,并且不记得更改过任何开发人员设置?
这是我尝试推送时收到的完整消息 有 GitHub 密码
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/<username>/<reponame>.git/'
与帕特
remote: Permission to <username>/<reponame>.git denied to <username>.
fatal: unable to access 'https://github.com/<username>/<reponame>.git/': The requested URL returned error: 403
403 表明我突然无法访问自己的存储库,但我不知道除了使用 PAT 之外还能如何进行身份验证。有没有人遇到过这个问题,并且在尝试了上面链接中的所有内容后仍然卡住了?
或者,有什么方法可以使这个非 PAT 或密码受到保护吗?这里没有什么特别敏感的东西,所以可能不需要这个保护层?
默认情况下,令牌始终包含对 GitHub 上所有公共存储库的只读访问权限。因此,要提供推或拉以及权限,您需要在创建访问令牌时选择适当的“范围”。
公共存储库的范围是public_repo,私有存储库的范围是repo。具有这些范围之一的令牌是 Git 推送或拉取访问可能最受限制的访问权限。
有关其他可用范围的描述,请参阅Github 文档。
我用来解决这个问题的步骤:
Repo 开始克隆...
在找到解决方案之前我尝试过的事情:
即使在创建 PAT 并使用它而不是密码后,我仍然遇到此错误。我尝试了以下方法:
将 git origin 从 https:// 更改为 ssh 打开终端 / cmd 并 cd 到克隆的存储库目录并 运行:
git Remote set-url origin [电子邮件受保护]:
/
这当然给了我错误,但将 github.com 添加到了受信任的主机
无法验证主机“github.com(140.82.121.3)”的真实性 已确立的。 ED25519钥匙指纹是 SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU。这把钥匙不是 以任何其他名称为人所知。您确定要继续连接吗 (是/否/[指纹])?是 警告:永久添加“github.com” (ED25519) 到已知主机列表。 [电子邮件受保护]:权限 被拒绝(公钥)。致命:无法从远程存储库读取。
请确保您拥有正确的访问权限和存储库 存在。
之后我将远程 url 更改回 HTTPS,之后就能够成功使用 PAT 进行身份验证。我在使用正确的 PAT 获得 403 几个小时后意外发现了这一点。
您可能需要创建:
如何创建 ssh 日志密钥:
就是这样
希望有帮助