Git 在错误的位置查找我的 SSH 密钥
Git looking for my SSH key in the wrong location
我一直有点头疼,因为我试图拉下 Gitlab 中的一个存储库。顺便说一句,如果有帮助的话,这一切都是在 Ubuntu VM 上的 Windows 8.1 中完成的。我已经在 Gitlab 中添加了我的 public 密钥,并将我的私钥添加到 ssh-agent 中……一切似乎都是正确的。
当我尝试做一个 git 时,这就是我 运行 遇到问题的地方。在我看来,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_rsa207: No such file or directory
git@git.mgmt.local's password:
我不知道为什么 git 会看那里,还是我想错了?任何人都可以为我阐明一些事情吗?
GitLab 本身并不在寻找您的 ssh 密钥:作为客户端,您正在使用 ssh 联系 GitLab,这意味着只有 openssh 在寻找这些密钥。
它 (openssh) 会在以下位置找到它们:
%HOME%\.ssh
(因此请检查环境变量 HOME
设置的内容)
%HOME%\.ssh\config
(IdentifiyFile 指令可以为 ssh 私钥设置自定义路径,因此请检查您是否有 .ssh/config
文件)
OP Neil Kelsey confirms %HOME%\.ssh\config
造成某种干扰。
并且推送 url 似乎仍在引用 https url。
一个简单的 git remote set-url --push origin <ssh/url>
解决了这个问题。
对于 macOS 用户,可以通过 运行 以下命令修复此问题:
rm ~/.ssh/known_hosts # remove previous hosts
ssh-add -A # add all known SSH keys
在运行以上命令后,问题应该得到解决。
我一直有点头疼,因为我试图拉下 Gitlab 中的一个存储库。顺便说一句,如果有帮助的话,这一切都是在 Ubuntu VM 上的 Windows 8.1 中完成的。我已经在 Gitlab 中添加了我的 public 密钥,并将我的私钥添加到 ssh-agent 中……一切似乎都是正确的。
当我尝试做一个 git 时,这就是我 运行 遇到问题的地方。在我看来,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_rsa207: No such file or directory
git@git.mgmt.local's password:
我不知道为什么 git 会看那里,还是我想错了?任何人都可以为我阐明一些事情吗?
GitLab 本身并不在寻找您的 ssh 密钥:作为客户端,您正在使用 ssh 联系 GitLab,这意味着只有 openssh 在寻找这些密钥。
它 (openssh) 会在以下位置找到它们:
%HOME%\.ssh
(因此请检查环境变量HOME
设置的内容)%HOME%\.ssh\config
(IdentifiyFile 指令可以为 ssh 私钥设置自定义路径,因此请检查您是否有.ssh/config
文件)
OP Neil Kelsey confirms %HOME%\.ssh\config
造成某种干扰。
并且推送 url 似乎仍在引用 https url。
一个简单的 git remote set-url --push origin <ssh/url>
解决了这个问题。
对于 macOS 用户,可以通过 运行 以下命令修复此问题:
rm ~/.ssh/known_hosts # remove previous hosts
ssh-add -A # add all known SSH keys
在运行以上命令后,问题应该得到解决。