多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Mac 使用 SSH 连接 Windows(VS Code Remote)踩坑记录

Mac 使用 SSH 连接 Windows(VS Code Remote)踩坑记录 环境客户端macOS服务端Windows 11OpenSSH Server编辑器VS Code Remote - SSH网络公网 IP或 ZeroTier 虚拟局域网 IP1. Windows 开启 SSH 服务安装 OpenSSH ServerAdd-WindowsCapability-Online-Name OpenSSH.Server~~~~0.0.1.0启动并设置开机自启Start-ServicesshdSet-Servicesshd-StartupType Automatic检查服务状态Get-Servicesshd2. 配置 SSH 密钥登录推荐在Mac生成密钥ssh-keygen-ted25519将生成的公钥追加到 WindowsC:\Users\User\.ssh\authorized_keys测试sshusershost3. VS Code SSH 配置建议使用 Host 别名不直接使用 IPHost win-public HostName 公网IP User user连接时始终选择win-public踩坑记录问题一Terminal 可以 SSHVS Code 无法连接现象Terminalsshwin-public正常登录。VS CodeRemote-SSH 连接失败原因VS Code Remote-SSH 会维护自己的连接缓存与 Terminal 并不完全一致。解决windows 中删除对应 Host 的 known_hostsssh-keygen-RZeroTier IP建议使用 Host 别名而不是直接连接 IP。问题二公网 IP 可以连接ZeroTier IP 不行现象同一台 Windows地址TerminalVS Code公网 IP✅✅ZeroTier IP✅❌原因VS Code 会把不同 HostName 当成两个独立的 Remote Host。即使它们实际对应同一台机器Server 缓存不同平台缓存不同扩展安装状态不同问题三报错/bin/bash ... code-server.cmd: command not found典型报错/bin/bash: line 1: C:\Users\user.vscode-server\...\code-server.cmd: command not found原因VS Code 将 Windows 主机误识别成 Linux。Linux 尝试执行code-server.cmd失败。解决在settings.json中指定远程平台{remote.SSH.remotePlatform:{win-public:windows,}}注意codex 中的 ssh 同样会遇到这个问题。问题四VS Code Server 缓存异常删除远程缓存Remove-Item-Recurse-Force$env:USERPROFILE\.vscode-server重新连接即可。
返回列表