我在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密钥

然后添加键

其他回答

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

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

这个问题可能与您的ssh-agent有关,您的ssh密钥没有与ssh-agent一起添加。您必须在您的终端上执行以下步骤:-

$ eval "$(ssh-agent -s)" Agent pid 5867 $ ssh-add <private-ssh-key-file-name> // eg。Id_rsa(不是.pub) 为/home/you/输入密码。ssh / id_rsa: [] 标识添加:/home/you/。ssh / id_rsa (/ home /你/ . ssh / id_rsa)

类似的问题:

我给密码时,git克隆使用SSH URL的git。 所以这个错误现在显示,每次我打开VS Code在Windows 10

下面修复了这个问题:

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现在显示一个弹出对话框,我们可以输入passspharse

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

下面是我解决这个问题的方法。我在Win7/10上使用Babun(mint .exe)。当我尝试了上面提到的许多解决方案,没有一个是有效的。我意识到我可能用错了ssh代理… 所以我运行echo $GIT_SSH来查找,它显示了Plink.exe的路径。 我真正期待的是OpenSSH。

因此,我将以下一行程序添加到~/。zshrc中

注1:你也可以直接在babun中执行它 注2:如果你使用bash,那么配置文件是.bashrc

export GIT_SSH=$(which ssh)

它真的有用!

运行以下命令

open ~/.ssh

然后手动删除“known_hosts”文件

运行以下命令,生成新的ssh-key

ssh-keygen -t rsa -C "your@email.com"

然后是两个文件:id_rsa和id_rsa。Pub将在.ssh目录下生成,复制id_rsa.pub中的内容

登录github——>设置——> SSH和GPC密钥——>添加SSH密钥——>粘贴复制的内容在关键 运行以下命令

ssh -T git@github.com

好的,它起作用了