我无法使用密钥对从 Windows 10 ssh 到 Linux 计算机。以下是日志中的
debug3: unable to connect to pipe \\\\.\\pipe\\openssh-ssh-agent, error: 2
debug1: pubkey_prepare: ssh_get_authentication_socket: The socket is not connected
当我尝试从 Windows 命令提示符运行 ssh-agent 时,我看到以下内容
mkdtemp: private socket dir: permission denied
我安装了适用于 Windows 的最新版本 OpenSSH,OpenSSH 8.3p1-1,但仍然看到此消息。我认为 ssh-agent 无法创建临时目录,但我不知道在哪里。我该如何调试运行 ssh-agent 失败的原因?
谢谢
答案1
就我而言,该问题是由C:\Windows\tempinst
文件夹的权限不正确引起的。
以管理员身份打开命令提示符。
发出以下命令:
takeown.exe /f c:\windows\tempinst /a /r /d y
rd /s c:\windows\tempinst /q
就我而言这还不够,我通过授予我的帐户对此文件夹的写权限来解决这个问题。
答案2
解决方案2:
如果你的 Windows git 版本 <= 2.30
将其更新至 2.40 可能会解决问题,即使
解决方案1:
修复权限
C:\Windows\Temp
C:\Windows\tempinst
C:\Program Files\Git\tmp
%TMP%
不是。