vscode用remote ssh连接服务器的流程
·
以下是一套完整、可落地的 VS Code Remote-SSH 离线部署 + 连接服务器流程,整合了之前的所有要点,适配新版 VS Code(高版本需 CLI+Server 双包),覆盖从环境准备到验证连接的全环节:
一、前置准备
- 本地环境:安装 VS Code,并安装
Remote - SSH插件(扩展市场搜索即可); - 远程服务器:确保服务器开启 SSH 服务(
systemctl status sshd验证),且你有服务器的账号密码 / 密钥; - 核心信息确认:
- 本地 VS Code 版本 + Commit ID:按
Ctrl+Shift+P→ 输入About: Version,记录版本(如 1.94.1)和 Commit ID(你的是7d842fb85a0275a4a8e4d7e040d2625abbf7f084); - 服务器架构:执行
uname -m,x86_64 对应x64,aarch64 对应arm64。
- 本地 VS Code 版本 + Commit ID:按
二、离线下载 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.gz 和 vscode-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:替换为登录服务器的用户名(如root、ubuntu、centos);Port:默认 22,若服务器修改了 SSH 端口(如 2222),需对应修改;IdentityFile:如果用密钥免密登录,填写本地私钥文件的绝对路径(Windows 注意路径分隔符用\或/,如C:/Users/张三/.ssh/id_rsa)。
-
保存配置文件:
- Linux/macOS:修改后保存
~/.ssh/config,并赋予权限(chmod 600 ~/.ssh/config,避免权限过高报错); - Windows:保存到
C:\Users\你的用户名\.ssh\config即可,无需额外权限配置。
- Linux/macOS:修改后保存
-
VS Code 中使用:
- 配置完成后,VS Code 远程资源管理器会直接显示
Host定义的别名(如my-remote-server),点击即可连接,无需重复输入ssh 用户名@IP。
- 配置完成后,VS Code 远程资源管理器会直接显示
2. 建立连接
- 在远程资源管理器中,找到刚配置的服务器,右键 → 「在新窗口中连接」;
- 选择服务器系统(如 Linux),输入服务器密码(或用密钥免密);
- 等待连接建立,底部状态栏显示「SSH: 服务器 IP」即表示连接成功。
- 具体操作方法详见:https://blog.csdn.net/qq_42417071/article/details/138501026?ops_request_misc=elastic_search_misc&request_id=807d2afa574f483b464c5877c9c64478&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-138501026-null-null.142^v102^pc_search_result_base6&utm_term=vscode%E8%BF%9E%E6%8E%A5ssh%E8%BF%9C%E7%A8%8B%E6%9C%8D%E5%8A%A1%E5%99%A8&spm=1018.2226.3001.4187
五、常见问题排查
- 版本不匹配:连接时提示版本错误 → 重新核对本地 Commit ID,确保下载的包和本地版本一致;
- 404 下载失败:CLI/Server 包下载 404 → 替换架构(如 x64 换 arm64),或确认 Commit ID 正确;
- 权限错误:部署时提示 Permission denied → 命令前加
sudo(如sudo tar -zxvf ...); - 连接超时:检查服务器 SSH 端口是否开放,本地能否 ping 通服务器。
总结
- 新版 VS Code Remote-SSH 必须同时下载 CLI 包和 Server 包,且目录结构为
cli/servers/Stable-[Commit ID]; - 部署核心:解压双包到指定目录 + 赋予执行权限 + 创建标记文件,避免在线下载;
- 连接关键:本地配置 SSH 信息后,选择对应服务器系统,验证连接状态(底部状态栏)。
更多推荐
所有评论(0)