Visual Studio Code 远程 - 通过 KeePass / KeeAgent 使用 SSH 密钥失败

3

我在使用Visual Studio中的remote-ssh插件连接A机器和B机器时遇到了问题。我已经从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中可以正常使用。由于不允许将SSH密钥以明文形式存储在A机器上,因此采用了Keepass/KeeAgent解决方案。我猜这就是问题所在,即Visual Studio Code与KeeAgent无法正常工作。

我能否绕过这个问题,比如告诉VS Code使用plink.exe作为SSH客户端,这个客户端可以与KeeAgent一起正常工作?或者VS Code是否允许加密存储SSH密钥,从而使KeeAgent变得不必要?我对VS Code和remote-ssh插件都很新,所以如果我的问题有显而易见的解决方案,我很抱歉。

也许问题还存在其他地方。如果是这样的话,我将感谢每一个提示。

谢谢!


3
你尝试过在Keepass中使用Windows OpenSSH的enable代理(实验性功能)吗?因为VSCode只支持这些 https://code.visualstudio.com/docs/remote/troubleshooting#_installing-a-supported-ssh-client。 - undefined
2
@DaurenAkilbekov 这对我有用。在keepass中激活它(keeagent选项卡),然后它立即生效。你可能想将这个作为未来参考的答案添加进去。 - undefined
1
抱歉,我有一段时间没有关注这个问题了。首先,我没有注意到我需要先选择主机操作系统(没有看到提示弹出)。但是在我这样做之后,@DaurenAkilbekov的解决方案也适用于我。我接受了相关答案作为解决方案。 - undefined
1个回答

3

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接