在服务器无网络的环境下安装 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(在能联网的电脑操作):
-
打开浏览器访问(替换 COMMIT_ID 和 PLATFORM):
https://update.code.visualstudio.com/commit:COMMIT_ID/server-PLATFORM/stable
- COMMIT_ID:通过本地 VS Code 的 Help > About 查看
- PLATFORM:根据服务器架构选择(如 linux-x64、linux-arm64)
-
示例下载链接(适用于 x86_64 Linux):
wget https://updatualstudio.com/commit:8b617bd08fd9e3fc94d14adb8d358b56e3f72314/server-linux-x64/stable -O vscode-server.tar.gz
2. 下载 VS Code 扩展离线包(可选)
如果还需安装其他扩展(如 Python、C++等):
二、传输文件到无网服务器
方法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 端配置
确保 VS Code 已安装 Remote-SSH 扩展(本地客户端需要):
- 从 https://code.visualstudio.com/download 下载离线安装包
- 或通过其他机器下载扩展包(.vsix)后手动安装
连接无网服务器:
- 按 F1 → Remote-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)
如果上述方法复杂,可改用:
net use Z: \\\\sshfs\\user@server_ip/home/project
总结步骤
graph TB
A[有网络环境] –>|下载| B[vscode-server.tar.gz]
A –>|下载| C[扩展.vsix]
B –>|U盘/SCP| D[无网服务器]
C –> D
D –> E[解压到 ~/.vscode-server]
E –> F[VS Code 连接]
通过这种方式,即使服务器完全无网络,也能实现完整的 Remote-SSH 开发体验。
评论前必须登录!
注册