讲师中心 微信公众号
AI工具推荐 视频效率加速

VSCode如何离线搭建Remote-SSH环境 - 无外网服务器的手动安装服务端包指南

浅辰姑娘_8779

浅辰姑娘_8779

发布时间:2026-03-19 19:37:02

|

415人浏览过

|

来源于php中文网

原创

需手动将与本地VSCode版本完全匹配的vscode-server压缩包(含对应commit ID)拷贝至目标机~/.vscode-server/bin/下指定哈希目录并解压,确保glibc、Node及SSH终端支持均满足要求。

vscode如何离线搭建remote-ssh环境 - 无外网服务器的手动安装服务端包指南

Remote-SSH服务端没联网,vscode-server怎么装到目标机器上?

离线服务器没法自动下载 vscode-server,VSCode Remote-SSH 连接时会卡在“Installing VS Code Server”并报错 Failed to fetch。核心不是“连不上”,而是客户端根本没把服务端二进制文件送过去。

  • 别指望 ssh 连上去再手动 curl —— 离线环境连 curl 都可能没装,更别说证书和域名解析
  • 必须提前把对应平台的 vscode-server 压缩包(tar.gz)拷到目标机器,并解压到 ~/.vscode-server/bin/ 下指定哈希目录里
  • 哈希值不能瞎写:它来自你本地 VSCode 桌面版的当前 commit ID,可在 VSCode 关于窗口或 code --version 第二行看到,例如 6c3e3dfa918054a21972e0b53830d1f11051134e
  • 路径结构必须是:~/.vscode-server/bin/<code>6c3e3dfa918054a21972e0b53830d1f11051134e/,里面要有 bin/code-server 和 server.js 等文件

怎么拿到和本地 VSCode 完全匹配的 vscode-server 包?

从官网下载的通用包不保证兼容——VSCode 桌面版每次更新,vscode-server 的 ABI、协议版本、甚至启动参数都可能变。离线部署必须“版本钉死”。

  • 最稳方式:在一台能联网、且安装了**完全相同 VSCode 版本**的机器上,打开命令面板(Ctrl+Shift+P),运行 Developer: Download Built-in Extensions —— 这会触发 VSCode 主动拉取一次服务端包,缓存在本地临时目录
  • Windows 缓存路径:%USERPROFILE%\AppData\Roaming\Code\Remote\dist\;macOS:~/Library/Application Support/Code/Remote/dist/;Linux:~/.config/Code/Remote/dist/
  • 找到以 commit ID 命名的 tar.gz 文件(如 6c3e3dfa918054a21972e0b53830d1f11051134e.tar.gz),用 scp 或 U 盘拷到目标服务器
  • 解压命令必须带 -C 指定父目录:tar -xzf 6c3e3dfa918054a21972e0b53830d1f11051134e.tar.gz -C ~/.vscode-server/bin/

目标机器缺 node 或 glibc 版本太低怎么办?

vscode-server 不是纯静态二进制,它依赖系统级 Node.js 运行时(虽然自带一份,但会 fallback 到系统 node)。离线环境常因基础依赖缺失直接报 cannot execute binary file 或 GLIBC_2.28 not found。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • 先确认目标机器架构和系统版本:uname -m(x86_64 / aarch64)、cat /etc/os-release、ldd --version
  • VSCode 官方 vscode-server 包默认编译目标是 glibc ≥ 2.28(对应 Ubuntu 20.04+/CentOS 8+),老系统(如 CentOS 7)必须降级使用旧版 VSCode + 对应旧包
  • 如果系统没 node,不要单独装 Node.js —— vscode-server 自带 node 在 bin/ 子目录下,但需确保 ~/.vscode-server/bin/xxx/bin/ 在 $PATH 里,或修改 ~/.vscode-server/bin/xxx/server.sh 中的 NODE 路径指向它

连接时仍提示 Waiting for server log... 卡住?检查这三处

包放对了、Node 有了、权限也设了,还是连不上?问题往往出在 VSCode 客户端的“静默行为”上——它不会告诉你具体哪步失败,只等日志输出。

  • 手动启动服务端看报错:cd ~/.vscode-server/bin/6c3e3dfa918054a21972e0b53830d1f11051134e && ./bin/code-server --start-server --host=127.0.0.1 --port=0 --use-host-proxy --enable-remote-auto-shutdown --print-server-id --telemetry-level off
  • 检查 ~/.vscode-server 所有者是否为当前用户(不是 root!):chown -R $USER:$USER ~/.vscode-server
  • 确认 SSH 配置中没禁用 TTY:VSCode Remote-SSH 默认需要伪终端,~/.ssh/config 里该 Host 不能有 RequestTTY no 或 PermitTTY no(服务端 sshd_config 也不能关)

离线部署最难的从来不是拷文件,而是版本链路断在哪一环——本地 VSCode 版本、服务端包 commit、目标系统 glibc、SSH 终端能力,四者必须咬合。少对一环,就卡在“等待日志”里,还找不到错在哪。

热门AI工具

更多
DeepSeek

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

豆包大模型

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

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

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

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

WorkBuddy

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

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

2780

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

249

2026.02.03

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

3563

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

795

2023.10.30

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

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

4236

2023.06.20

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

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

1315

2023.07.28

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

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

1698

2023.08.03

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

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

9783

2023.08.17

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

0

2026.10.15

热门下载

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

精品课程

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

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