Visual Studio Code Remote - 通过 KeePass / KeeAgent 使用密钥进行 SSH 失败

问题描述 投票:0回答:2

我在机器 A 和机器 B 之间使用 Visual Studio 中的远程 ssh 插件时遇到问题,其中密钥由 KeeAgent 从机器 A 上的 KeePass 数据库提供。

机器 A 在 Windows 10 上运行,我已根据指南在 Visual Studio Code 中正确设置了主机(机器 B)。但是,当尝试使用远程功能时,我收到以下错误:

[09:48:32.111] Log Level: 2
[09:48:32.121] [email protected]
[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 和远程 ssh 插件都很陌生,所以如果我的问题有明显的解决方案,我很抱歉。

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

谢谢!

visual-studio-code ssh remote-access ssh-keys keepass
2个回答
3
投票

转到选项>KeeAgent,然后向下滚动到代理模式选项并激活启用Windows OpenSSH代理(实验):(默认:禁用)启用与内置Windows 10兼容的SSH代理套接字SSH 客户端


0
投票

要允许在 Visual Studio Code 中使用 KeeAgent 或 Pageant SSH 密钥,您必须使用 Plink 实用程序,该实用程序充当支持 Pageant 或 KeeAgent 缓存 SSH 密钥的控制台 ssh 客户端。

不幸的是,Visual Studio Code 不自动支持 PLink,但它支持命令行 ssh 客户端。因此,有一个项目 ssh2plink 充当 ssh 控制台客户端,但基于支持 KeeAgent 的 Plink。

您可以在这里获取它SSH2Plink

来源:www.martinkonicek.eu/en/blog/ssh-in-visual-studio-code-with-keepass

© www.soinside.com 2019 - 2024. All rights reserved.