讲师中心 微信公众号

工具推荐

视频效率加速
updream

一键生成高质量推广成片

Laper
Laper

剧本策划到成片协作

AniShort
AniShort

AI短剧协同制作平台

立刻MV
立刻MV

低成本歌曲 MV、视频生成

如何用VSCode的远程开发功能连接Linux服务器进行编程【教程】

阿涛吖_4467

阿涛吖_4467

发布时间:2026-01-25 19:49:17

|

1091人浏览过

|

来源于php中文网

原创

VSCode远程开发能否成功取决于vscode-server在服务器端的静默安装与稳定运行,关键条件包括SSH密钥认证、glibc≥2.17、可访问update.code.visualstudio.com、主目录≥200MB空间、用户拥有有效shell及完整PATH环境变量。

vscode 的远程开发功能不是“连上就能写代码”,关键在于 vscode-server 能否在目标 linux 服务器上静默安装并稳定运行——这取决于 ssh 权限、glibc 版本、磁盘空间和网络代理设置,而不是 vscode 本地版本新旧。

确认服务器满足 vscode-server 运行前提

VSCode 远程连接本质是通过 SSH 启动服务器端的 vscode-server(一个轻量 Node.js 服务),它对环境有硬性要求:

  • glibc >= 2.17(CentOS 7+ / Ubuntu 16.04+ 基本达标;老旧 CentOS 6 或嵌入式系统大概率失败)
  • 服务器需能访问 update.code.visualstudio.com(若走公司代理或离线环境,需手动下载 vscode-server 并放至 ~/.vscode-server/bin/ 对应 commit ID 目录)
  • 用户主目录磁盘剩余空间 ≥ 200MB(vscode-server 解压后约 150MB,临时文件另计)
  • SSH 用户必须有 shell(不能是 /bin/false 或 /usr/sbin/nologin)且可执行 bash 和 tar

用 SSH 密钥而非密码登录,避免反复输密码中断连接

VSCode 远程插件在首次建立连接、自动部署 vscode-server、后续心跳保活时,会多次调用 SSH。如果配置的是密码认证,每次都会弹窗,极易导致超时失败。

  • 本地生成密钥:ssh-keygen -t ed25519 -C "your_email@example.com"
  • 上传公钥到服务器:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host(确保 ~/.ssh/authorized_keys 权限为 600)
  • 检查服务器 /etc/ssh/sshd_config 是否启用:PubkeyAuthentication yes,改完记得 sudo systemctl restart sshd
  • VSCode 中点击左下角远程连接图标 → “Connect to Host…” → 输入 user@host 即可免密直连

连接后无法打开终端或提示 command 'workbench.action.terminal.new' not found

这不是插件没装,而是远程服务器缺少基础 shell 工具链。VSCode 终端依赖服务器上真实可用的 bash、sh 或 zsh,且其 $PATH 必须包含常用命令路径。

GitHub Push 自动推送
GitHub Push 自动推送

使用自动 SSH 和远程配置实现安全的 GitHub 推送自动化。适用于执行 `git push`、自动化推送或处理冲突等场景。

下载
  • 先手动 SSH 登录服务器,执行 which bash 和 echo $PATH,确认返回正常
  • 检查 /etc/passwd 中该用户登录 shell 是否真实存在(例如写成 /bin/bash 但实际只有 /usr/bin/bash)
  • 某些最小化安装系统(如 Alpine、CoreOS)默认无 bash,需 apk add bash 或 apt install bash
  • VSCode 设置中搜索 terminal.integrated.defaultProfile.linux,手动设为服务器上存在的 shell 路径,例如 /usr/bin/bash

编辑大文件卡顿、Git 操作慢、文件监视失效

VSCode 默认把文件监视(file watching)、Git 状态扫描、语法校验全放在远程服务器执行。当服务器资源紧张或文件系统为 NFS / CIFS 时,这些操作会严重拖慢响应。

  • 禁用远程文件监视:在远程设置(settings.json)中加 "files.useExperimentalFileWatcher": false
  • 把 Git 操作交由本地处理:设置 "git.enabled": false(远程) + 本地克隆同一仓库 + 用 git remote set-url origin 指向服务器 Git 仓库路径
  • 大项目建议关闭不必要的扩展:远程侧只保留 Python、C/C++ 等语言支持类扩展,禁用 Live Share、Remote Explorer 等非必需项
  • 若服务器 CPU 或内存长期 >80%,考虑在本地用 rsync 同步代码 + 远程仅做构建/调试(即“本地编辑 + 远程编译”模式)

最常被忽略的一点:VSCode 远程连接成功 ≠ 开发环境就绪。很多问题(比如 Python 插件找不到解释器、调试器断点不生效)根源不在连接本身,而在于 vscode-server 启动时加载的 shell 环境变量与你手动 SSH 登录时不一致——它默认不读取 ~/.bashrc 或 ~/.zshrc,需要显式配置 "remote.SSH.env" 或在 ~/.bash_profile 中补全 PATH。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

函子Zion

一款支持AI搭建、可视化编辑和多端发布的全栈无代码开发平台。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2295

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

3762

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

1256

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

4359

2025.09.10

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

4916

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1435

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1918

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

10463

2023.08.17

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

60

2026.11.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn