我试图拉下Gitlab中的存储库时,我一直有些头疼。如果有帮助的话,这一切都在Windows 8.1的Ubuntu VM上完成。我在Gitlab中添加了我的公钥,并将我的私钥添加到ssh-agent ......一切似乎都正确。
当我尝试做一个git pull时,这就是我遇到问题的地方。在我看来,Git只是在错误的位置查找,我的私钥存储在c / Users / Neil / .ssh中,但好像git正在查看c / Users / Neil / .ssh / 342/200 / 217 ...
C:\Users\Neil\code\homestead>git pull
no such identity: /c/Users/Neil/.ssh/id_rsa\342\200\217: No such file or directory
git@git.mgmt.local's password:
我不知道为什么git会在那里看,或者我在想这个错误?谁能为我解释一些事情?
答案 0 :(得分:7)
GitLab本身并不是在寻找你的ssh密钥:作为客户端,你使用ssh联系GitLab,这意味着只有openssh正在寻找这些密钥。
它(openssh)会找到它们:
%HOME%\.ssh
(因此请检查环境变量HOME
设置为什么)%HOME%\.ssh\config
(其中IdentifiyFile指令可以为ssh私钥设置自定义路径,因此请检查您是否有.ssh/config
文件) OP Neil Kelsey确认%HOME%\.ssh\config
git remote set-url --push origin <ssh/url>
造成了某种干扰。
推送网址似乎仍然引用了https网址 一个简单的{{1}}修正了。
答案 1 :(得分:0)
对于 macOS 用户,可以通过运行以下命令来修复此问题:
rm ~/.ssh/known_hosts # remove previous hosts
ssh-add -A # add all known SSH keys
运行上述命令后,问题应该已解决。