Git在错误的位置寻找我的SSH密钥

Nei*_*sey 4 git ssh ssh-keys gitlab

试图拉下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:
Run Code Online (Sandbox Code Playgroud)

我不知道为什么git会在那里看,或者我在想这个错误?任何人都可以为我解释一些事情吗?

Von*_*onC 9

GitLab本身并不是在寻找你的ssh密钥:作为客户端,你使用ssh联系GitLab,这意味着只有openssh正在寻找这些密钥.

它(openssh)将在以下位置找到它们:

  • %HOME%\.ssh(所以检查环境变量HOME的设置)
  • %HOME%\.ssh\config(其中IdentifiyFile指令可以为ssh私钥设置自定义路径,因此请检查您是否有.ssh/config文件)

OP尼尔·凯尔西确认的意见是,%HOME%\.ssh\config是造成某种干扰.

推送网址似乎仍然引用了https网址.
一个简单的git remote set-url --push origin <ssh/url>固定.