我在机器 A 和机器 B 之间使用 Visual Studio 中的 remote-ssh 插件时遇到问题,其中密钥由机器 A 上的 KeePass 数据库中的 KeeAgent 提供。
机器 A 在 Windows 10 上运行,我已根据指南在 Visual Studio Code 中正确设置了主机(机器 B)。但是,当尝试使用远程功能时,我收到以下错误:
[09:48:32.111] Log Level: 2
[09:48:32.121] remote-ssh@0.51.0
[09:48:32.121] win32 x64
[09:48:32.124] SSH Resolver called for "ssh-remote+XXX.XXX.XXX.XXX", attempt 1
[09:48:32.125] SSH Resolver called for host: XXX.XXX.XXX.XXX
[09:48:32.125] Setting up SSH remote "XXX.XXX.XXX.XXX"
[09:48:32.314] Using commit id "91899dcef7b8110878ea59626991a18c8a6a1b3e" and quality "stable" for server
[09:48:32.317] Install and start server if needed
[09:48:38.141] getPlatformForHost was canceled
[09:48:38.142] Resolver error: Connecting was canceled
[09:48:38.147] ------
我的输出中XXX.XXX.XXX.XXX
显然是机器 B 的正确 IP。
正如我所提到的,这台机器的 SSH 密钥是通过 KeeAgent 提供的,并且可以与 PuTTy 配合使用。我不允许在机器 A 上以明文形式存储 SSH 密钥,因此使用 Keepass/KeeAgent 解决方案。我想这是问题所在,不知何故 Visual Studio Code 不适用于 KeeAgent。
我可以解决这个问题吗,即告诉 VS Code 使用 plink.exe 作为 SSH 客户端,它与 KeeAgent 一起使用?或者 VS Code 是否允许加密存储 SSH 密钥本身,从而使 KeeAgent 过时?我对 VS Code 和 remote-ssh 插件都是新手,所以如果我的问题有明显的解决方案,我很抱歉。
也许问题出在其他地方。在那种情况下,我感谢每一个提示。
谢谢!