以下是一套完整、可落地的 VS Code Remote-SSH 离线部署 + 连接服务器流程,整合了之前的所有要点,适配新版 VS Code(高版本需 CLI+Server 双包),覆盖从环境准备到验证连接的全环节:

一、前置准备

  1. 本地环境:安装 VS Code,并安装 Remote - SSH 插件(扩展市场搜索即可);
  2. 远程服务器:确保服务器开启 SSH 服务(systemctl status sshd 验证),且你有服务器的账号密码 / 密钥;
  3. 核心信息确认
    • 本地 VS Code 版本 + Commit ID:按 Ctrl+Shift+P → 输入 About: Version,记录版本(如 1.94.1)和 Commit ID(你的是 7d842fb85a0275a4a8e4d7e040d2625abbf7f084);
    • 服务器架构:执行 uname -m,x86_64 对应 x64,aarch64 对应 arm64

二、离线下载 VS Code Server 相关包(本地 / 有网机器操作)

1. 下载新版 CLI 包(必需)

bash

运行

# 替换为你的 Commit ID,x64 适配服务器架构(arm64 替换成 linux_arm64)
wget "https://vscode.download.prss.microsoft.com/dbazure/download/stable/7d842fb85a0275a4a8e4d7e040d2625abbf7f084/vscode_cli_linux_x64_cli.tar.gz" -O vscode_cli.tar.gz
2. 下载新版 Server 核心包(必需)

bash

运行

# 同样替换 Commit ID,x64 适配架构
wget "https://vscode.download.prss.microsoft.com/dbazure/download/stable/7d842fb85a0275a4a8e4d7e040d2625abbf7f084/vscode-server-linux-x64.tar.gz" -O vscode-server.tar.gz
3. 上传包到远程服务器

用 SCP/FileZilla 等工具,将下载好的 vscode_cli.tar.gzvscode-server.tar.gz 上传到服务器的 ~ 目录(用户主目录)。

三、远程服务器部署(核心步骤)

登录远程服务器,执行以下命令(已替换你的 Commit ID,直接复制):

bash

运行

# 1. 创建新版目录结构(新版必需)
mkdir -p ~/.vscode-server/cli/servers/Stable-7d842fb85a0275a4a8e4d7e040d2625abbf7f084
mkdir -p ~/.vscode-server/bin

# 2. 解压 Server 核心包到指定目录
tar -zxvf vscode-server.tar.gz -C ~/.vscode-server/cli/servers/Stable-7d842fb85a0275a4a8e4d7e040d2625abbf7f084 --strip-components=1

# 3. 解压 CLI 包并重命名(通信桥梁)
tar -zxvf vscode_cli.tar.gz -C ~/.vscode-server/bin
mv ~/.vscode-server/bin/code ~/.vscode-server/bin/code-server

# 4. 赋予执行权限(避免权限不足)
chmod +x ~/.vscode-server/bin/code-server
chmod -R +x ~/.vscode-server/cli/servers/Stable-7d842fb85a0275a4a8e4d7e040d2625abbf7f084

# 5. 创建标记文件(告诉 VS Code 无需在线下载)
touch ~/.vscode-server/cli/servers/Stable-7d842fb85a0275a4a8e4d7e040d2625abbf7f084/0

四、本地 VS Code 连接远程服务器

1. 配置 SSH 连接
  • 打开 VS Code,点击左侧「远程资源管理器」(远程 SSH 图标);
  • 点击「+」号 → 输入 ssh 用户名@服务器IP -p 端口(默认端口 22,如 ssh root@192.168.1.100);
  • 选择 SSH 配置文件(默认选第一个即可),配置会自动保存。
  • 配置文件示例:
  • SSH 配置文件基础说明

    VS Code 会将 SSH 配置保存在本地的 ~/.ssh/config(Linux/macOS)或 C:\Users\你的用户名\.ssh\config(Windows)文件中,这个文件支持多服务器配置,语法简洁且易维护。

    完整配置文件示例

    config

    # 配置文件说明:
    # 1. Host:自定义服务器别名(连接时显示的名称)
    # 2. HostName:服务器IP/域名
    # 3. User:登录服务器的用户名
    # 4. Port:SSH端口(默认22,非默认需手动指定)
    # 5. IdentityFile:私钥文件路径(免密登录用)
    # 6. ForwardAgent:开启代理转发(可选)
    # 7. ServerAliveInterval:保持连接(避免超时)
    
    # 示例1:基础连接(密码登录,默认端口22)
    Host my-server-1
        HostName 192.168.1.100
        User root
        Port 22
        ServerAliveInterval 60
    
    # 示例2:自定义端口 + 密钥免密登录(推荐)
    Host my-server-2
        HostName 10.0.0.5
        User ubuntu
        Port 2222  # 非默认SSH端口,需修改为实际端口
        IdentityFile ~/.ssh/my_private_key  # 本地私钥文件路径(Windows写绝对路径:C:\Users\XXX\.ssh\id_rsa)
        ForwardAgent yes
        ServerAliveInterval 60
    
    # 示例3:适配你的场景(替换为你的服务器信息)
    Host my-remote-server
        HostName 你的服务器公网IP/内网IP
        User 你的服务器用户名(如root/ubuntu)
        Port 22  # 若服务器改了端口,替换成实际端口
        ServerAliveInterval 60
    

    配置文件使用说明

  • 修改关键参数

    • Host:可以自定义名称(如 my-server),VS Code 远程资源管理器中会显示这个别名;
    • HostName:替换为服务器的实际 IP 或域名(如 47.98.XX.XX);
    • User:替换为登录服务器的用户名(如 rootubuntucentos);
    • Port:默认 22,若服务器修改了 SSH 端口(如 2222),需对应修改;
    • IdentityFile:如果用密钥免密登录,填写本地私钥文件的绝对路径(Windows 注意路径分隔符用 \/,如 C:/Users/张三/.ssh/id_rsa)。
  • 保存配置文件

    • Linux/macOS:修改后保存 ~/.ssh/config,并赋予权限(chmod 600 ~/.ssh/config,避免权限过高报错);
    • Windows:保存到 C:\Users\你的用户名\.ssh\config 即可,无需额外权限配置。
  • VS Code 中使用

    • 配置完成后,VS Code 远程资源管理器会直接显示 Host 定义的别名(如 my-remote-server),点击即可连接,无需重复输入 ssh 用户名@IP
2. 建立连接

五、常见问题排查

  1. 版本不匹配:连接时提示版本错误 → 重新核对本地 Commit ID,确保下载的包和本地版本一致;
  2. 404 下载失败:CLI/Server 包下载 404 → 替换架构(如 x64 换 arm64),或确认 Commit ID 正确;
  3. 权限错误:部署时提示 Permission denied → 命令前加 sudo(如 sudo tar -zxvf ...);
  4. 连接超时:检查服务器 SSH 端口是否开放,本地能否 ping 通服务器。

总结

  1. 新版 VS Code Remote-SSH 必须同时下载 CLI 包和 Server 包,且目录结构为 cli/servers/Stable-[Commit ID]
  2. 部署核心:解压双包到指定目录 + 赋予执行权限 + 创建标记文件,避免在线下载;
  3. 连接关键:本地配置 SSH 信息后,选择对应服务器系统,验证连接状态(底部状态栏)。

更多推荐