remote-ssh连接需安装remote development扩展包而非单个插件,配置本地~/.ssh/config文件,确保公钥正确写入远程authorized_keys并重启sshd,首次连接耐心等待vscode-server自动部署完成。

能直接用 SSH 连上 Linux 服务器、在本地 VS Code 里编辑远程文件、运行终端、装插件到远端——这件事本身不难,但卡在某个环节就全盘失败。核心前提是:本地有可用的 ssh 客户端,远程 sshd 服务开着且允许你登录。
Remote - SSH 插件必须装对,不是只装一个
VS Code 的远程开发能力由 Remote - SSH 提供,但它依赖 Remote Development 扩展包作为底层支持。只搜“Remote-SSH”并安装单个插件,大概率会缺功能(比如连接后无法加载远端插件、终端打不开)。
- 正确做法:在扩展市场搜索
Remote Development,安装那个带蓝色图标、描述为“Remote Development extension pack”的官方套件 - 装完后,状态栏左下角会出现绿色的远程图标,点它才能唤出
Remote-SSH: Connect to Host命令 - 别信“只装 Remote-SSH 就够了”的旧教程——2026 年起,微软已明确将三类远程能力(SSH / WSL / Container)统一打包
SSH 配置文件路径和格式不能错,尤其 Windows 用户
VS Code 读取的是你本地的 ~/.ssh/config(Windows 是 C:\Users\{username}\.ssh\config),不是远程服务器上的那个。很多人误把远程的 /etc/ssh/sshd_config 当成配置目标,结果连不上还反复改远端设置。
- 配置项必须顶格写,不能缩进;
Host名称不能含空格或特殊符号 - 典型正确写法:
Host myserver HostName 192.168.1.26 User root Port 22 IdentityFile ~/.ssh/id_ed25519
注意:IdentityFile 路径在 Windows 上要写成 C:\Users\xxx\.ssh\id_ed25519 或用正斜杠 C:/Users/xxx/.ssh/id_ed25519,反斜杠不识别。
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
免密登录失败,八成是公钥没进 authorized_keys
本地生成密钥对后,只改了 VS Code 的 config 文件,却没把公钥内容真正放进远程服务器的 ~/.ssh/authorized_keys,连接时仍会弹密码框。
- 检查远程服务器上该文件权限:
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys - 确认
sshd配置允许公钥登录:PubkeyAuthentication yes和AuthorizedKeysFile .ssh/authorized_keys必须在/etc/ssh/sshd_config中启用 - 如果用的是
root登录,还要确保PermitRootLogin yes(某些发行版默认禁用) - 改完
sshd_config后必须执行sudo systemctl restart sshd,否则无效
第一次连接后远端 VS Code Server 启动慢,别手抖关掉
首次通过 Remote-SSH 连接某台 Linux 主机时,VS Code 会在远端自动下载、解压、启动一个轻量服务端(vscode-server)。这个过程可能持续 30–90 秒,期间界面卡在“Installing VS Code Server”不动,很多人以为失败就强制退出。
- 此时远端其实正在后台运行
curl下载和tar解压,可登录服务器执行ps aux | grep vscode确认 - 若中途断开,下次重连会从头开始——所以耐心等完第一次初始化,后续连接就秒开了
- 如果等太久(超 3 分钟)仍无响应,大概率是远端网络策略拦截了 GitHub Release 下载(国内常见),需手动下载
vscode-servertar 包传上去解压
最常被忽略的一点:所有你在远程窗口里装的插件(比如 C/C++、Go),实际是安装在 Linux 服务器上的 ~/.vscode-server 目录里,和本地插件完全隔离。这意味着你不能指望本地已装的调试器直接跑远端代码——得让远端自己装、自己配环境变量、自己找 gdb 或 dlv。










