Windows 10 上的 Git 使用与 ssh 不同的密钥

Windows 10 上的 Git 使用与 ssh 不同的密钥

我在 Windows 上使用 git 时遇到配置问题。git 使用的公钥与 ssh 在同一主机上使用的密钥不同。简而言之,

ssh git@somewhere

要求输入密钥密码并正常工作,而

$ git remote -v show
somewhere    ssh://git@somewhere/path/to/repo
$ git push somewhere main
git@somewhere: Permission denied (publickey).
fatal: Could not read from remote repository.

如上所述,失败。

答案1

问题在于某些路径配置,我不知道该在哪里更改。

我使用 procmon 调查了两个ssh.exe进程打开了哪些文件。Git 的 ssh 尝试在 中找到密钥,%APPDATA%\SPB_Data\.ssh\而命令提示符中的 ssh 使用来自 的密钥%userprofile%\.ssh\(注意:%userprofile%默认情况下是您的C:\Users\<username>\)。

在此之前,从“Git bash”窗口运行 ssh 时也会连接失败。

%userprofile%\.ssh\目录中没有任何密钥。我已将密钥从复制%userprofile%\.ssh\%APPDATA%\SPB_Data\.ssh\,现在 Git 可以正常连接。

相关内容