当前位置: 首页 > news >正文

在服务器无网络的环境下安装 VS Code Remote-SSH 组件

在服务器无网络的环境下安装 VS Code Remote-SSH 组件,需要通过 离线包传输 + 手动配置 的方式完成。以下是具体操作步骤:


一、准备工作(在有网络的机器上操作)

1. 下载 VS Code Server 离线包

VS Code Remote-SSH 需要在服务器上自动安装 vscode-server,但无网络时会失败。需手动下载:

  • 获取服务器平台类型(在服务器执行):
    uname -m  # 查看架构(x86_64/arm64)
    lsb_release -a  # 查看系统版本(Ubuntu/CentOS等)
    
  • 下载对应版本的 vscode-server(在能联网的电脑操作):
    1. 打开浏览器访问(替换 COMMIT_IDPLATFORM):

      https://update.code.visualstudio.com/commit:COMMIT_ID/server-PLATFORM/stable
      
      • COMMIT_ID:通过本地 VS Code 的 Help > About 查看
      • PLATFORM:根据服务器架构选择(如 linux-x64linux-arm64
    2. 示例下载链接(适用于 x86_64 Linux):

      wget https://updatualstudio.com/commit:8b617bd08fd9e3fc94d14adb8d358b56e3f72314/server-linux-x64/stable -O vscode-server.tar.gz
      
2. 下载 VS Code 扩展离线包(可选)

如果还需安装其他扩展(如 Python、C++等):

  1. 访问 https://marketplace.visualstudio.com/
  2. 搜索扩展 → 点击 “Download Extension” 获取 .vsix 文件

二、传输文件到无网服务器

方法1:U盘/移动硬盘
  • 将下载的 vscode-server.tar.gz.vsix 文件拷贝到U盘
  • 通过物理方式传输到服务器
方法2:内网共享(如果可行)
  • 通过局域网共享或 SCP 直连(需服务器与某台内网机器连通):
    scp vscode-server.tar.gz user@server_ip:/tmp/
    

三、服务器端手动安装

1. 安装 VS Code Server
# 解压到 VS Code 默认目录
mkdir -p ~/.vscode-server/bin
tar -xzf vscode-server.tar.gz -C ~/.vscode-server/bin
mv ~/.vscode-server/bin/* ~/.vscode-server/bin/COMMIT_ID  # 重命名为COMMIT_ID# 创建标记文件(模拟自动安装完成)
touch ~/.vscode-server/bin/COMMIT_ID/vscode-scp-done.flag
2. 安装扩展(可选)
# 在本地 VS Code 执行(通过 Remote-SSH 连接后)
code --install-extension /path/to/extension.vsix

四、Windows 端配置

  1. 确保 VS Code 已安装 Remote-SSH 扩展(本地客户端需要):

    • 从 https://code.visualstudio.com/download 下载离线安装包
    • 或通过其他机器下载扩展包(.vsix)后手动安装
  2. 连接无网服务器

    • F1Remote-SSH: Connect to Host
    • 输入服务器IP和认证信息(密码/密钥)
    • VS Code 将检测到已手动安装的 vscode-server,直接进入远程编辑模式

五、常见问题解决

1. 连接时报错 Could not establish connection
  • 原因vscode-server 未正确放置
  • 解决
    # 在服务器检查目录结构
    ls ~/.vscode-server/bin/COMMIT_ID/
    # 确保包含 node、server.sh 等文件
    
2. 扩展依赖缺失
  • 方案:提前在有网络环境下载所有依赖的 .vsix 文件,手动安装:
    code --install-extension ms-python.python-2023.8.0.vsix
    
3. 版本不匹配
  • 强制使用特定版本(在 VS Code 设置中添加):
    "remote.SSH.serverInstallPath": {"your_server_ip": "/home/user/.vscode-server/bin/COMMIT_ID"
    }
    

六、替代方案(无需安装 VS Code Server)

如果上述方法复杂,可改用:

  1. SSHFS 挂载(编辑文件通过本地 VS Code):
    # Windows 端挂载
    net use Z: \\sshfs\user@server_ip/home/project
    
  2. rsync 同步(手动触发文件更新):
    rsync -avz ./local_code/ user@server_ip:/remote/path/
    

总结步骤

graph TBA[有网络环境] -->|下载| B[vscode-server.tar.gz]A -->|下载| C[扩展.vsix]B -->|U盘/SCP| D[无网服务器]C --> DD --> E[解压到 ~/.vscode-server]E --> F[VS Code 连接]

通过这种方式,即使服务器完全无网络,也能实现完整的 Remote-SSH 开发体验。

http://www.lryc.cn/news/594321.html

相关文章:

  • (5)从零开发 Chrome 插件:Vue3 Chrome 插件待办事项应用
  • 数控调压BUCK电路 —— 基于TPS56637(TI)
  • Spring Cloud Gateway高危隐患
  • jmeter如何做自动化接口测试?
  • jQuery多库共存
  • http基础一
  • 游戏剧情抄袭侵权比对报告:防止“爆款”变“爆雷”
  • C 语言经典编程题实战:从基础算法到趣味问题全解析
  • Qemu-NUC980(一):SOC框架代码添加
  • LeetCode 3202.找出有效子序列的最大长度 II:取模性质(动态规划)
  • 智能制造——48页毕马威:汽车营销与研发数字化研究【附全文阅读】
  • 【图像处理基石】什么是畸变校正?
  • 2025牛客暑期多校训练营2(部分补题)
  • 【LeetCode 热题 100】124. 二叉树中的最大路径和——DFS
  • 网络安全隔离技术解析:从网闸到光闸的进化之路
  • 【机器学习深度学习】魔塔社区模型后缀全解析:Base、Chat、Instruct、Bit、Distill背后的技术密码
  • leetcode丑数II计算第n个丑数
  • Java行为型模式---解释器模式
  • 大语言模型:人像摄影的“达芬奇转世”?——从算法解析到光影重塑的智能摄影革命
  • 核电子数字多道分析(DMCA)系统中,脉冲展宽的核心目的
  • 力扣:动态规划java
  • 基于单片机的火灾报警系统设计
  • 每日算法刷题Day50:7.20:leetcode 栈8道题,用时2h30min
  • 处理Electron Builder 创建新进程错误 spawn ENOMEM
  • C++ primer知识点总结
  • D. Traffic Lights 【Codeforces Round 1038, Div. 1 + Div. 2】
  • docker制作前端镜像
  • securecrt连接服务器报错 Key exchange failed 怎么办
  • Direct3D 11学习(一)
  • 股票账户数据及其数据获取