在WSL内使用VSCode Remote-SSH连接GCP实例超时问题求助
WSL环境下VSCode Remote-SSH连接GCP实例超时解决方案
问题说明
用户使用受管理员严格管控的Windows 10设备,设备内安装有Ubuntu 20版本的WSL子系统,需求是通过WSL内运行的VSCode Remote-SSH插件连接高配置GCP实例完成开发工作。当前故障现象为WSL内的VSCode发起Remote-SSH连接请求时返回连接超时。
已确认正常的前置操作
- 直接在WSL终端执行SSH命令可成功登录GCP实例
- WSL环境可正常启动并运行VSCode
故障排查解决步骤
1. 对齐VSCode SSH客户端路径
因为终端SSH可正常连通,首先确认VSCode调用的SSH程序和WSL原生SSH一致:
- 在WSL终端执行
which ssh获取SSH程序的绝对路径,默认路径为/usr/bin/ssh - 打开VSCode设置,搜索
remote.ssh.path配置项,注意切换到「远程 [WSL: Ubuntu-20.04]」标签页,将配置值修改为上一步获取的路径
2. 修正SSH配置文件路径
确认VSCode读取的是WSL内的SSH配置,而非Windows系统的配置:
- 打开VSCode Remote-SSH面板,点击「配置」按钮,选择WSL用户目录下的
~/.ssh/config作为配置文件 - 在配置文件中添加GCP实例的登录信息,参考配置如下:
Host gcp-dev HostName 替换为你的GCP实例公网IP User 替换为你的实例登录用户名 IdentityFile ~/.ssh/id_rsa Port 22
- 保存配置后,在Remote-SSH面板点击对应主机发起连接即可
3. 适配管控环境的网络配置
部分企业管控环境的代理规则会导致VSCode Remote-SSH网络请求异常:
- 打开VSCode设置,搜索
remote.SSH.enableProxyCommand,将该配置项的值改为false - 搜索
http.proxy配置项,清空WSL远程端的代理配置,使用WSL原生网络栈发起请求
4. 日志定位特殊问题
如果以上操作仍无法解决问题,可通过日志定位具体故障:
- 发起连接请求失败后,点击弹窗中的「查看日志」选项
- 检查日志中SSH命令调用路径、网络请求节点的报错信息,针对性调整配置即可
内容的提问来源于stack exchange,提问作者john mich
相关产品推荐
相关产品推荐

