Git错误:"请确保您拥有正确的访问权限并且仓库存在"。

333
我正在Windows上使用TortoiseGit。当我尝试从标准的Windows Explorer上下文菜单中进行克隆时,会出现以下错误提示:
请确保您具有正确的访问权限并且存储库存在。
更具体地说,在终端中的快照如下:
git.exe clone --progress -v "git@arobotdev:\git\AlfaRobot.git" "C:\Work\AlfaRobot"
Cloning into 'C:\Work\AlfaRobot'... Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,password). fatal: Could not read from remote repository.
请确保您具有正确的访问权限和存储库存在。
请问我应该怎么做才能使git正常工作?

1
尝试生成SSH密钥并添加。 - Raja Simon
使用Shell(或Windows中的Git Bash)创建SSH密钥:$ ssh-keygen -t rsa -C“youremail@example.com” - Belter
在将仓库更改为git@github.com地址以避免每次输入密码后,出现了该错误。导致这个错误的真正原因是忘记在github上添加我的公钥。 - dasWesen
在我的情况下,我需要按照此处设置配置。 - Hadi KAR
35个回答

2
你可以按照以下步骤操作:
  1. 检查是否已存在密钥 - a. ls -al ~/.ssh

  2. 如果不存在,则创建新的密钥 - 粘贴下面的文本,并将 GitHub 电子邮件地址替换为您自己的。 a. ssh-keygen -t ed25519 -C "your_email@example.com" b. 当提示“输入要保存密钥的文件”时,请按 Enter。这会接受默认的文件位置。 c. 在提示符处,输入一个安全的密码。

  3. 将 SSH 密钥添加到 ssh-agent - 启动 SSH 代理并添加密钥

  4. eval ssh-agent -s

  5. ssh-add ~/.ssh/id_ed25519

  6. 将密钥添加到 Git 帐户中 - 获取密钥并将其添加到 Github 帐户中

  7. cat ~/.ssh/id_ed25519.pub

  8. 转到 Git 帐户并添加 SSH 密钥


请注意,用于生成ssh密钥的"你的GitHub电子邮件地址"应该是你在GitHub网站上注册的电子邮件地址。我使用了另一个电子邮件地址,结果出现了可怕的"请确保您拥有正确的访问权限和存储库存在"错误。通过使用我在GitHub注册的电子邮件地址重新生成ssh密钥,将该密钥上传到GitHub并将其添加到ssh代理中,问题得到了解决。 - izkon

1
如果使用Ubuntu/Linux,请尝试以下操作:
git config --global --unset credential.helper

现在按照以下步骤从Github账户生成个人访问令牌:

>>GITHUB ACCOUNT 
>> Developer setting 
>> Personal Access Token 
>>Genrate new one with all acess & use it as your password !!

Windows 用户请查看以下链接:

https://www.youtube.com/watch?v=fkKkojKYZ8U


这个视频的评论说“比Stack Overflow的答案更好”。那么请帮助让SO再次拥有更好的答案。在SO上,始终提供答案的基本部分是一个好的实践。因此,如果您想为Windows提供解决方案,请在此处提供。您仍然可以提供链接,但这些链接应仅用于参考。 - Adrian W

1
尝试使用https代替ssh。在你复制克隆URL的项目主页中选择https选项。请保留HTML标签。

1

在尝试了许多修复方法都没有成功之后,我最终使用GitHub Desktop应用程序克隆了该存储库。


1

类似问题:

我使用 SSH URL 克隆 Git 时提供了 passphrase
所以每次在 Windows 10 上打开 VS Code 时都会出现此错误。

以下是解决方法:

1. 在 CMD 中运行以下命令。

setx SSH_ASKPASS "C:\Program Files\Git\mingw64\libexec\git-core\git-gui--askpass"
setx DISPLAY needs-to-be-defined

2. 退出CMD和VS Code

3. 重新打开VS Code

4. VS Code现在会显示一个弹出对话框,我们可以输入密码短语

以上命令适用于Windows操作系统,类似的说明也适用于Linux/MAC。


1

Chromebook上Linux终端的解决方案

当我尝试从github克隆repo时,出现以下错误提示:

kex_exchange_identification: Connection closed by remote host Connection closed by 28.0.3.132 port 22

我通过关闭VPN解决了这个问题。

此外,我正在使用Chromebook上的Linux,其SSH由Chromebook的设置控制,而不是Linux虚拟机。因此,我必须通过命令手动将私钥添加到SSH代理。

eval "$(ssh-agent -s)" # start the ssh-agent
ssh-add ~/.ssh/id_rsa # add the secret key to the agent (not .pub file)

我会在我的~/.bashrc文件中添加这一行。

1
我是一名有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:

对我来说,我在使用公司VPN时遇到了问题,断开后正常。

使用命令ssh -vvvT git@github.com检查与GitHub的连接。


0

我犯了一个非常常见的错误。我使用剪贴板命令 xclip -sel clip < ~/.ssh/id_rsa.pub 进行复制,但在粘贴到 Github 密钥输入框时,我使用了退格键删除了最后一个换行符,这实际上改变了公钥。

因此,始终将 SSH 公钥完整地复制并粘贴,不要删除最后一个换行符。


0

我的情况: 我使用Windows,并且有多个用户帐户。 我遇到了相同的错误,解决方法是以管理员权限启动git bash。


0
尝试了多种方法都没有成功。以下命令对我有用: git remote set-r https://<Username>@github.com/<Org>/<Repo>.git 然后您可以使用以下命令进行验证: git remote -v 请注意,在Mac上,您应该在Keychain中拥有Github凭据。有关详细信息,请参阅此SO问题:Couldn't find github in keychain MacOS

生成新的Github SSH凭证:https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent - NewToCode

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接