2

我在机器 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 插件都是新手,所以如果我的问题有明显的解决方案,我很抱歉。

也许问题出在其他地方。在那种情况下,我感谢每一个提示。

谢谢!

4

1 回答 1

2

转到Options > KeeAgent,然后向下滚动到Agent Mode Options并激活Enable agent for Windows OpenSSH(experimental):(默认:禁用)启用与内置 Windows 10 SSH 客户端兼容的 SSH 代理套接字

于 2020-09-09T12:07:21.887 回答