我在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 / config文件

mv config config_old && touch config

eval "$(ssh-agent -s)"

git clone your_repo

因为它原来是配置文件被损坏,并配置了两个id

其他回答

你的git URL可能已经改变了。使用如下命令修改本地目录下的URL

对于HTTPS协议

git remote set-url origin https://github.com/username/repository.git

对于SSH协议

git remote set-url origin git@github.com:username/repository.git

这个问题可能有多种原因

如果问题与您的ssh身份有关,请在这里通过@onkar-m18回答 如果ssh密钥没有添加到主机服务器,请在这里通过@lovekush-vishwakarma回答

我只是按照这个解释

我试过评估,很有效。

然后我尝试ssh -T git@bitbucket.org

然后我再次克隆。现在一切都很顺利

我在用Ubuntu

在阅读了许多答案后,没有一个能解决问题,即使我已经添加了SSH密钥到我的git帐户,并尝试使用SSH -T git@gitlab.com测试它,它说欢迎<我的用户名>,但它仍然告诉我,我没有访问权限。后来我找到了原因:

通常情况下,如果你不是root用户,它会要求你对每个git命令都运行sudo。

当运行sudo git clone <SSH....>(例如)。它将在root权限下执行,但无意中创建SSH密钥时,我以普通用户运行它,并将密钥保存在~/中。Ssh /id_rsa,解析绝对路径为“/home/username/. Ssh /id_rsa”。当做sudo git克隆…它在/root/.ssh/id_rsa中查找SSH密钥

为什么我可以确定。查看git在哪里查找SSH密钥。执行命令sudo GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone <您的仓库在ssh >。它将显示在哪里查找SSH密钥。

所以我建议的解决方案是:

重新创建您的SSH密钥(遵循此说明),但在第一步运行sudo su,然后应该就可以了。

您正在尝试通过ssh: git@arobotdev..克隆存储库。,并且您的SSH密钥在服务器上没有正确设置。原因有很多:

您的公钥可能没有保存在用户git的authorized_keys文件中 如果1不为真,则“您的私钥不保存在您的HOMEDIR的。ssh/文件夹中”。 权限设置不正确

如果以上三点都不属实,那么我唯一的结论就是: git@arobotdev: AlfaRobot.git 假设AlfaRobot。git在git用户的HOMEDIR目录下,而不是在git用户的HOMEDIR目录下的名为git的文件夹中。

您可以按照以下步骤-

Check for existing keys- a. ls -al ~/.ssh Create key if does not exist- Paste the text below, substituting in your GitHub email address. a. ssh-keygen -t ed25519 -C "your_email@example.com" b. When you're prompted to "Enter a file in which to save the key," press Enter. This accepts the default file location. c. At the prompt, type a secure passphrase. Adding your SSH key to the ssh-agent- Fire up the SSH agent and add the key eval ssh-agent -s ssh-add ~/.ssh/id_ed25519 Adding key to Git account- Pull up the key and add to Github account cat ~/.ssh/id_ed25519.pub Navigate to Git account and add SSH key