执行 ssh-agent 导致“mkdtemp:私有套接字目录:权限被拒绝”

执行 ssh-agent 导致“mkdtemp:私有套接字目录:权限被拒绝”

我无法使用密钥对从 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%

不是。

相关内容