Visual Studio Code Remote-SSH Windows 10 ssh-agent.exe 问题

Visual Studio Code Remote-SSH Windows 10 ssh-agent.exe 问题

我在 VS 代码中安装了 Remote-SSH 插件。我能够连接到使用密钥加密登录的服务器。这包括使用 Windows 10 ssh-agent,如下所述:

https://code.visualstudio.com/docs/remote/troubleshooting#_setting-up-the-ssh-agent

# Make sure you're running as an Administrator
Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent
Get-Service ssh-agent

重启后,我重新打开 VS Code,却发现我无需输入密码就能重新登录服务器。对我来说,这太令人不安了。我关机并重启——还是一样。

我对代理的理解是,您在会话开始时进行一次身份验证,并且您的密码应该保存(加密)在内存中,并且在程序关闭后不应继续存在;就像 PuTTY、MobaXterm 以及 Linux 或 Mac 中的任何终端的运行方式一样。

我立即开始咒骂 Windows 开发人员太愚蠢了,嘟囔着 VS 代码、WSL、windows 的 open-ssh 是吸引开发人员的好尝试,但再次彻底失败了。……但也许我遗漏了什么或者我的理解不正确?

显而易见的是,如果您使用密码保护私钥,您不会希望该密码保留下来,因为这首先违背了密码的整个目的。如果我的客户端受到威胁,我的服务器也会受到威胁。如果他们从不想输入密码,为什么不直接创建没有密码的私钥呢?我猜如果 sshd 需要两者,而这个人很懒的话……?

8 小时后,我回到电脑前并打开电源,非常好奇地想看看代理是否还保存着我的密码和密钥。我打开 VS 代码连接到我的远程服务器,并收到以下错误:

警告:代理返回不同的签名类型 ssh-rsa(预期为 rsa-sha2-512)

mkdir:无法创建目录“/home/myname/.vscode-server”:权限被拒绝

bash:第 48 行:/home/myname/.vscode-server/bin/6129338/vscode-remote-lock。:没有此文件或目录 flock:99:安装已在进行中...错误的文件描述符 flock:99:错误的文件描述符 flock:99:错误的文件描述符

“安装”终端命令完成收到安装输出:flock:99:错误的文件描述符无法从服务器输出解析远程端口:flock:99:错误的文件描述符

(看起来像一个十六进制数,但我将其删除了,因为我不确定我在这里处理的是什么。)

看起来有一个手动修复:https://github.com/PowerShell/Win32-OpenSSH/issues/1263但我现在甚至不确定我是否信任 Windows(以前我并不信任)。

我的密钥怎么会在重启后继续存在?是不是因为 Windows 10 Cortana 启动“功能”太糟糕了,它会重新打开所有打开的程序?我还没能弄清楚如何关闭它,但我讨厌它。我猜想要做到这一点,Windows 必须将内存转储到磁盘上,以便在启动时可用?这是否意味着我的密码存储在磁盘上?

请告诉我我错了。

相关内容