试图 pull 下 Gitlab 中的存储库让我有点头疼。顺便说一句,如果有帮助的话,这一切都是在 Ubuntu VM 上的 Windows 8.1 中完成的。我已经在 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 会看那里,还是我想错了?任何人都可以为我阐明一些事情吗?
最佳答案
GitLab 本身并不在寻找您的 ssh key :作为客户端,您正在使用 ssh 联系 GitLab,这意味着只有 openssh 在寻找这些 key 。
它 (openssh) 会在以下位置找到它们:
-
%HOME%\.ssh
(因此请检查环境变量HOME
设置的内容) -
%HOME%\.ssh\config
(IdentifiyFile 指令可以为 ssh 私钥设置自定义路径,因此请检查您是否有.ssh/config
文件)
OP Neil Kelsey确认 in the comments那%HOME%\.ssh\config
造成某种干扰。
而且推送 url 似乎仍在引用 https url。
一个简单的git remote set-url --push origin <ssh/url>
解决了这个问题。
关于Git 在错误的位置寻找我的 SSH key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28784883/