跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

VS Code Remote - SSH:连接到远程服务器进行开发的终极指南

VS Code Remote-SSH扩展实现本地界面无缝操作远程代码。需确保服务器SSH服务开启、配置免密登录、正确部署远程服务端,并解决环境、权限及性能常见问题。 VS Code 的 Remote - SSH 扩展让你能在本地界面里无缝编辑、调试、运行远程服务器上的代码,就像在本地开发一样流畅。关键不是“连上就行”,而是连得稳、用得顺、问题少。 一、基础连接:别卡在第一步 确保远程服务器已开启 SSH 服务( OpenSSH server ),且你能用终端
ssh user@host
正常登录。VS Code 不会替你解决网络或认证问题——它只是把 VS Code 的 UI 和远程 shell/进程桥接起来。 安装 Remote - SSH 扩展(微软官方,认准图标带锁和“Remote - SSH”名称) 按
Ctrl+Shift+P
(Win/Linux)或
Cmd+Shift+P
(Mac),输入 Remote-SSH: Connect to Host... 首次使用选 Add New SSH Host... ,填入类似
user@192.168.1.100
或
user@myserver.example.com
它会自动写入
~/.ssh/config
(Windows 是
%USERPROFILE%\.ssh\config
),之后可直接从列表选择 二、免密登录:省掉每次输密码 不配密钥对,每次打开文件夹、拉代码、调试都可能弹窗要密码,体验断层。VS Code 本身不管理密钥,靠系统 SSH 工具链。 本地生成密钥:
ssh-keygen -t ed25519 -C "your_email@example.com"
复制公钥到服务器:
ssh-copy-id user@host
(若不支持,手动追加
~/.ssh/id_ed25519.pub
内容到服务器的
~/.ssh/authorized_keys
) 检查
~/.ssh/config
中对应 Host 是否有
IdentityFile ~/.ssh/id_ed25519
(VS Code 默认读这个配置) 三、远程工作区:不只是打开文件夹 点击 “Connect to Host” 后,VS Code 会在远程服务器上自动部署一个轻量服务端( vscode -server),并启动客户端界面。此时你看到的资源管理器、终端、调试器,全指向远程路径。 通义灵码 windows版 通义灵码 0.8.0 是一款面向智能开发场景的轻量级集成开发环境。该版本聚焦效率与协作,提供代码智能补全、实时语法检查与版本管理功能,并优化了插件扩展能力,适配主流编程语言。0.8.0 版本进一步提升了启动速度与界面响应流畅度,内置任务运行器与调试工具,帮助开发者更快捷地完成项目构建与问题定位。简洁、现代的设计让初学者与专业团队都能快速上手。 下载 推荐打开远程的
~/workspace
或项目根目录,而非
/
或
/home
—— 避免加载大量无关文件拖慢 Explorer 终端默认是远程 shell(bash/zsh),
which python
、
npm --version
返回的是服务器环境结果 扩展分两层:UI 扩展(如主题、快捷键)装在本地;功能型扩展(Python、Go、Docker)需勾选 Install on SSH: hostname 才真正装进远程 四、常见卡点与对策 连上了但打不开文件?终端空白?调试失败?大概率不是插件坏了,而是环境或权限细节没对齐。 “Failed to fetch remote environment” :检查远程用户 home 目录是否可读写,
~/.vscode-server
是否被误删或权限锁死(
chmod 755 ~/.vscode-server
) 中文乱码 / 终端显示异常 :在远程服务器执行
locale -a | grep zh_CN.utf8
,若无则安装(Ubuntu:
sudo apt install language-pack-zh-hans
),再在 VS Code 设置里加
"terminal.integrated.env.linux": {"LANG": "zh_CN.UTF-8"}
Git 操作报 Permission denied (publickey) :确保 Git 使用的是系统 SSH(非内置 Git for Windows 的 ssh.exe),检查
git config --global core.sshCommand
,或设为空让其走系统默认 大文件或 NFS 挂载目录响应慢 :在 VS Code 设置中添加
"files.watcherExclude": {"**/node_modules/**": true, "**/.git/objects/**": true}
基本上就这些。Remote - SSH 不复杂,但容易忽略底层 SSH 的健壮性。连得踏实,后面写代码、调服务、看日志,才真正省心。

相关文章