GitHub 的个人访问令牌不起作用? - 请求的 URL 返回错误:403

问题描述 投票:0回答:4

我已经尝试了此线程中提到的所有内容:推送到 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 或密码受到保护吗?这里没有什么特别敏感的东西,所以可能不需要这个保护层?

git github
4个回答
4
投票

默认情况下,令牌始终包含对 GitHub 上所有公共存储库的只读访问权限。因此,要提供推或拉以及权限,您需要在创建访问令牌时选择适当的“范围”。

公共存储库的范围是public_repo,私有存储库的范围是repo。具有这些范围之一的令牌是 Git 推送或拉取访问可能最受限制的访问权限。

有关其他可用范围的描述,请参阅Github 文档


2
投票

我用来解决这个问题的步骤:

Repo 开始克隆...

在找到解决方案之前我尝试过的事情:

  • 创建细粒度(新)个人访问令牌
  • 输入我的 Github 密码(登录方法已弃用)
  • 使用 Mac 的钥匙串缓存我的 UN 和 PW
  • 在克隆命令中传入我的UN和PW,“git clone https://:/myOrg/theirApp.git”

0
投票

即使在创建 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 几个小时后意外发现了这一点。


-4
投票

问候

您可能需要创建:

  • ssh 日志密钥,并将其用作密码
  • gpg 日志密钥,并将其用作密码

如何创建 ssh 日志密钥:


  • 您可以通过检查设置 - >开发者 - >创建访问令牌来做到这一点
  • 您指定要赋予令牌的权限,并在尝试提交时将其复制并粘贴到终端的密码字段中

就是这样
希望有帮助

© www.soinside.com 2019 - 2024. All rights reserved.