我在Windows上使用TortoiseGit。当我试图从标准Windows资源管理器的上下文菜单克隆时,我得到这个错误:

请确保您拥有正确的访问权限并且存储库存在

更准确地说,终端的快照如下:

——progress -v "git@arobotdev:\git\AlfaRobot. exe。git”“C: \ \ AlfaRobot” 克隆到“C:\Work\AlfaRobot”… 权限被拒绝,请重试。 权限被拒绝,请重试。 权限被拒绝(公钥,密码)。 无法从远程存储库读取。 请确保您拥有正确的访问权限 并且存储库存在。 Git没有干净地退出(退出代码128)(21450 ms @ 19.09.2014 10:36:58)

我应该怎么做才能使git正常工作?


当前回答

对我来说,这是因为机器上没有SSH密钥。本地检查SSH密钥:

$ cat ~/.ssh/id_rsa.pub

这是您的SSH密钥。将其添加到存储库中的SSH密钥中。 在gitlab转到

配置文件设置-> SSH密钥

然后添加键

其他回答

在尝试了许多这些修复失败后,我能够使用GitHub桌面应用程序克隆回购。

如果您通过VPN连接到git存储库,也会发生这种情况。 确保您已连接到用于访问组织资源的VPN。

The first thing you may want to confirm is the internet connection. Though, internet issues mostly will say that the repo cannot be accessed. Ensure you have set up ssh both locally and on your github. See how Ensure you are using the ssh git remote. If you had cloned the https, just set the url to the ssh url, with this git command git remote set-url origin git@github.com:your-username/your-repo-name.git If you have set up ssh properly but it just stopped working, do the following: eval "$(ssh-agent -s)" ssh-add If you are still having the issue, check to ensure that you have not deleted the ssh from your github. In a case where the ssh has been deleted from github, you can add it back. Use pbcopy < ~/.ssh/id_rsa.pub to copy the ssh key and then go to your github ssh setting and add it.

我建议你总是使用ssh。对于我合作过的大多数团队来说,除非使用ssh,否则您无法访问回购(大多数是私有的)。对于初学者来说,这可能看起来很难,但后来你会发现它更容易和更安全。

如果它之前工作,突然停止工作:

此问题可能是因为有时ssh-agent在重新启动时不是持久的。你应该检查ssh-agent是否添加了你的密钥:

ssh-add -l -E md5

如果你得到如下输出:

The agent has no identities.

这意味着ssh-agent丢失了您的密钥。在这种情况下,您只需要再次添加标识键。喜欢的东西:

ssh-add ~/.ssh/git_rsa

错误现在应该消失了!

我犯了一个很常见的错误。我使用剪辑命令xclip -sel剪辑< ~/.ssh/id_rsa复制。但是在粘贴到github键输入框期间,我使用退格删除了最后换行符,这实际上改变了公钥。

所以,总是复制和粘贴ssh公钥,因为它是没有删除最后换行。