WSL+SSH连接笔记
1. WSL架构理解
WSL(Windows Subsystem for Linux)是微软开发的兼容层,允许在Windows上原生运行Linux环境:
WSL 2架构:基于Hyper-V轻量级虚拟机运行完整Linux内核,相比传统虚拟机启动更快、资源占用更少
与传统Linux的区别:WSL深度集成Windows系统,可直接访问Windows文件系统,共享网络栈和系统资源
网络特性:默认NAT网络模式,WSL获得172.x.x.x私有IP地址,与Windows主机网络隔离
访问限制:外部访问WSL服务需要通过Windows主机端口转发机制
2. SSH服务配置
2.1 WSL内SSH服务部署
1 | |
2.2 Windows端口转发配置
1 | |
3. VS Code远程开发配置
3.1 Remote-SSH扩展安装
在本地VS Code中安装必要扩展:
Remote - SSH
Remote - SSH: Editing Configuration Files
3.2 SSH连接配置
通过命令面板(Ctrl+Shift+P)选择”Remote-SSH: Connect to Host”,配置连接参数:
1 | |
3.3 操作系统选择
VS Code提示选择远程系统类型时,选择Linux而非Windows。技术原因:
目标环境是WSL中的Ubuntu系统,运行Linux内核
VS Code Server需要部署Linux版本以匹配目标系统架构
文件系统路径使用Linux格式(
/而非\)终端环境为bash shell,需要Linux兼容的命令集
4. 连接测试与问题发现
4.1 本地连接验证
在目标Windows主机上测试SSH连接:
1 | |
测试结果:连接成功,出现主机密钥确认提示,输入yes后SSH服务工作正常。
4.2 端口转发验证
检查端口转发配置和监听状态:
1 | |
测试结果:
1 | |
端口转发配置正确,22端口正常监听。
4.3 VS Code远程连接失败
从外网通过VPN尝试VS Code Remote-SSH连接:
1 | |
测试结果:连接超时,VS Code显示”Could not establish connection”错误。
4.4 直接SSH连接测试
1 | |
测试结果:连接超时,无法建立连接。
5. 网络连通性排查
5.1 基础网络测试
1 | |
测试结果:ping失败,数据包丢失100%。
5.2 RDP连接对比测试
1 | |
测试结果:RDP连接正常,可以成功建立远程桌面会话。
5.3 端口可达性测试
1 | |
测试结果:22端口不可达,连接被拒绝。说明公司网络有限制,G