You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code连接远程服务器遇SSH未知错误,求解决方法

解决VS Code Remote-SSH连接远程服务器失败的问题

你遇到的核心问题是基础SSH连接无法建立(终端直接执行ssh username@10.101.169.215也报错),VS Code的连接失败只是这个底层问题的表现。以下是针对性的排查和解决步骤:

一、先排查基础网络连通性

  • 测试服务器可达性:执行ping 10.101.169.215,如果没有回包,说明你的机器和服务器不在同一网段、服务器停机,或者中间网络有路由/防火墙拦截,需要先解决网络连通问题。
  • 测试22端口是否开放:
    • 用PowerShell执行:Test-NetConnection 10.101.169.215 -Port 22,查看TcpTestSucceeded字段是否为True。如果是False,说明服务器22端口未对外开放。
    • 或者用telnet:先开启Windows的telnet功能(设置→应用→可选功能→添加功能→搜索telnet客户端安装),然后执行telnet 10.101.169.215 22,如果连接失败,同样说明端口未开放或网络拦截。

二、排查本地SSH客户端问题

  • 升级OpenSSH客户端:你当前使用的是OpenSSH_for_Windows_8.1p1,这个版本存在一些兼容性问题。打开设置→应用→可选功能,找到“OpenSSH客户端”,卸载后重新安装;或者用PowerShell执行以下命令安装最新版:
    Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*' | Add-WindowsCapability -Online
    
  • 检查本地防火墙:打开Windows Defender防火墙,进入出站规则,确认没有阻止ssh.exe的规则。如果有,右键选择“启用规则”;也可以临时关闭防火墙测试(测试完成后务必重新开启)。

三、服务器端配置排查(需联系服务器管理员)

  • 确认SSH服务运行状态:在服务器上执行systemctl status sshd(Linux系统),如果服务未运行,执行systemctl start sshd启动,同时设置开机自启:systemctl enable sshd。
  • 确认防火墙放行22端口:
    • Ubuntu/Debian系统:执行ufw status查看规则,若22端口不在列表中,执行ufw allow 22添加规则。
    • CentOS/RHEL系统:执行firewall-cmd --list-ports查看,若没有22/tcp,执行firewall-cmd --add-port=22/tcp --permanent && firewall-cmd --reload。
  • 确认SSH端口配置:查看服务器的/etc/ssh/sshd_config文件,确认Port字段是否为22。如果是自定义端口,连接时需要指定端口,比如终端执行ssh username@10.101.169.215 -p 自定义端口,VS Code中则需要在远程连接配置里添加端口信息。

四、其他可能的解决方案

  • 关闭代理软件:如果你的机器上运行了VPN、代理工具等,可能会干扰SSH连接,关闭后重新尝试连接。
  • 切换VS Code默认终端:打开VS Code,搜索设置terminal.integrated.defaultProfile.windows,将默认终端改为PowerShell,然后重新发起远程连接。

内容的提问来源于stack exchange,提问作者Nala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 04:46:48