无法克隆私有存储库 github:身份验证失败

Posted

技术标签:

【中文标题】无法克隆私有存储库 github:身份验证失败【英文标题】:Unable to clone private repository github : Authentication failed 【发布时间】:2021-12-13 21:07:22 【问题描述】:

我在 github 中创建了一个私有 repo,当我尝试使用 cmd (git) 克隆它时,系统会提示我输入用户名和密码的 github 窗口。它说在 cmd 中登录失败,然后在 cmd 中询问用户名/密码。我再次输入凭据并按 Enter。我收到类似 fatal: Authentication failed for

的错误

我使用https进行了上述操作。 当我尝试使用 ssh 时,出现此错误 git@github.com:权限被拒绝(公钥)。 致命:无法从远程存储库中读取。 请确保您拥有正确的访问权限 并且存储库存在。

如何克隆这个私有仓库?

【问题讨论】:

你试过使用 SSH 吗? 是的@Joe。我通过添加尝试使用 ssh 时遇到的错误来编辑问题 您是否在本地和 github 上设置了密钥? docs.github.com/en/authentication/connecting-to-github-with-ssh/… 【参考方案1】:

Github 不再支持基本帐户凭据(用户名和密码)。您必须生成个人访问令牌才能继续。 在此处按照以下步骤操作:Generate Personal Access Token

我使用 Webstorm IDE,它使这个问题很容易解决。我希望这对你有用。

【讨论】:

我生成了个人访问令牌并用它代替了 cmd 中的密码。有效。谢谢 不客气@kakashiOfSharingan【参考方案2】:

2021 年 12 月更新:

您可以使用如下所示的命令语法克隆私有存储库

*patPAT(个人访问令牌)

git clone https://<username>:<pat>@github.com/<username>/<reponame>.git

要克隆一个私有仓库,需要在 Github 上生成一个 PAT(Personal Access Token) 并添加到命令中。

这是您在 Github 上生成 PAT(个人访问令牌)的方式:

1、转到“设置”

2、向下滚动然后转到“开发者设置”

3、“个人访问令牌”,然后按“生成新令牌”

4、填写“Note”然后勾选“repo”

*如果没有勾选"repo",则无法克隆私有仓库。

5、向下滚动然后按“生成令牌”

6、最后生成一个PAT

这是带有上面生成的 PAT 的命令:

git clone https://<username>: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@github.com/<username>/<reponame>.git

【讨论】:

这是一个很好的答案。这是正确的做法,而且效果很好。 你知道他们为什么这样做而不是使用通常的用户名/密码吗?所以每个合作的人都需要你在每次他们想要提交或克隆时生成一个个人访问令牌?

以上是关于无法克隆私有存储库 github:身份验证失败的主要内容,如果未能解决你的问题,请参考以下文章

Azure Devops OnPremise,致命:克隆 Git 存储库时身份验证失败

为 Github 私有存储库验证 Jenkins CI

服务器 SSH 指纹验证失败

AWS Amplify 克隆存储库错误:“s-s-r 应用程序不支持基本身份验证。”

Github Actions 使用 maven 对另一个存储库的私有包注册表进行身份验证

Packer 自定义映像构建失败并出现 ssh 身份验证错误