我在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正常工作?


当前回答

您可以按照以下步骤-

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

其他回答

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

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

对我来说,我有公司VPN的问题,断开连接后工作正常。

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

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,否则您无法访问回购(大多数是私有的)。对于初学者来说,这可能看起来很难,但后来你会发现它更容易和更安全。

我在用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,然后应该就可以了。

如果使用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 !!

窗口用户观看以下链接:-

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