为什么在vscode中ssh连接超时?

为什么在vscode中ssh连接超时?,ssh,visual-studio-code,Ssh,Visual Studio Code,我安装了git而不是openssl以在VSCode中使用远程SSH。但是,在我完成配置文档并尝试连接到远程主机后,我失败了。错误信息如下图所示 错误信息: [11:27:12.631] remote-ssh@0.48.0 [11:27:12.632] win32 x64 [11:27:12.656] SSH Resolver called for "ssh-remote+23321", attempt 1 [11:27:12.659] SSH Resolver called for host:

我安装了git而不是openssl以在VSCode中使用远程SSH。但是,在我完成配置文档并尝试连接到远程主机后,我失败了。错误信息如下图所示

错误信息:

[11:27:12.631] remote-ssh@0.48.0
[11:27:12.632] win32 x64
[11:27:12.656] SSH Resolver called for "ssh-remote+23321", attempt 1
[11:27:12.659] SSH Resolver called for host: 23321
[11:27:12.659] Setting up SSH remote "23321"
[11:27:12.790] Using commit id "26076a4de974ead31f97692a0d32f90d735645c0" and quality "stable" for server
[11:27:12.798] Testing ssh with ssh -V
[11:27:13.099] ssh exited with code: 0
[11:27:13.100] Got stderr from ssh: OpenSSH_8.1p1, OpenSSL 1.1.1d  10 Sep 2019
[11:27:13.128] Running script with connection command: ssh -T -D 49485 23321 bash
[11:27:13.132] Install and start server if needed
[11:27:13.151] Terminal shell path: C:\Windows\System32\cmd.exe
[11:27:30.151] Resolver error: Connecting with SSH timed out
[11:27:30.178] ------

我以前也遇到过同样的问题,我通过删除
“terminal.integrated.inheritEnv”:false
inside ~/.config/code/User/setting.json

在用户oreilm49的这个线程中找到了解决方案:

在vscode设置中: 搜索conpty并取消选中它


我也有同样的问题,但上述解决方案与我的设置不匹配, 但以下设置确实有效:

"remote.SSH.useLocalServer": false

我是从

中得到这个解决方案的。在我的案例中,问题是由于服务器端的身份验证过程太长造成的

通过将连接超时时间从15秒延长到30秒解决了此问题

说明:

  • 打开vscode命令选项板(通过键盘快捷键或从 查看菜单)
  • 搜索远程SSH:Settings
  • 滚动直到找到连接超时
  • 将其更改为比15秒更长的持续时间
  • 键F1 远程SSH:设置 连接超时:从15秒到60秒解决我的连接问题


    您可以尝试以下方法:

  • ssh连接到远程服务器。然后运行以下命令以清理服务器上.vscode服务器文件夹下的数据文件夹和bin文件夹:
    • cd~/.vscode服务器
    • rm数据/*-rf
    • rm bin/*-rf
  • 如果步骤1不起作用,请通过ssh连接到远程服务器,并使用以下命令删除整个.vscode服务器文件夹:

    rm-rf~/.vscode服务器

    请注意,这也将删除您在服务器上安装的扩展

  • 在vscode中降级远程SSH扩展的版本。在vscode界面中查找扩展,右键单击该扩展,您将找到“安装另一个版本…”选项。安装当前版本的早期版本。如果不起作用,继续降级版本


  • 我有这个问题,因为客户端和服务器的版本不匹配。在将两者更新到同一版本后,我觉得效果不错。

    您是否尝试过从第一个块中删除单引号?就像您在第二个块上尝试的一样,但是在第二个块上,您没有设置IdentityFile。我尝试了使用或不使用单引号和IdentityFile进行连接。但这没什么区别。结果是一样的:“使用SSH连接超时”您可以使用终端连接到主机吗?是的,我可以通过SSH“23321”在windows中使用cmd.exe连接到主机真的是主机名吗?有些软件会将数字字符串解释为。我可以补充一点,这可能与启用ControlPersist选项有关。n
    ~/.ssh/config
    ,因为在打开此标志之前,我对此没有任何问题