VS Code Remote-SSH 远程连接服务器开发指南
通过 VS Code 的 Remote - SSH 扩展,像操作本地项目一样远程编辑和开发服务器代码。
一、为什么需要 Remote-SSH?
之前的方式:
| 方式 | 缺点 |
|---|---|
| 用 WinSCP 上传下载文件 | 每次修改都要上传,麻烦 |
| 在服务器上直接 vim 编辑 | 不习惯命令行编辑器 |
| 本地开发完再部署 | 环境不一致,容易出问题 |
Remote-SSH 的好处:
- 在 VS Code 里直接打开服务器上的文件夹,像本地项目一样
- 编辑代码实时保存到服务器
- 直接使用服务器上的 Python 环境(.venv)运行和调试
- 内置终端自动连接服务器,不用另开 SSH 窗口
二、操作步骤
2.1 安装 Remote - SSH 扩展
| 步骤 | 操作 |
|---|---|
| 1 | 打开 VS Code |
| 2 | 点击左侧扩展图标(或按 Ctrl + Shift + X) |
| 3 | 搜索 Remote - SSH |
| 4 | 点击安装(微软官方出品,图标是绿色 >< 符号) |
2.2 配置 SSH 连接
第 1 步:打开命令面板
按 Ctrl + Shift + P,输入并选择:
Remote-SSH: Open SSH Configuration File...
第 2 步:选择配置文件
选择第一个路径(通常是 C:\Users\你的用户名\.ssh\config),如果文件不存在会提示创建。
第 3 步:添加服务器配置
在打开的配置文件中,粘贴以下内容:
Host 测试服务器
HostName deepseek.test.com
Port 10101
User yyq
保存文件(Ctrl + S)。
配置说明:
| 项 | 值 | 含义 |
|---|---|---|
Host |
测试服务器 | 连接名称,可自定义 |
HostName |
deepseek.test.com |
服务器地址 |
Port |
10101 |
SSH 端口 |
User |
yyq |
登录用户名 |
2.3 连接服务器
第 1 步:连接
- 按
F1或Ctrl + Shift + P - 输入
Remote-SSH: Connect to Host... - 选择 测试服务器
- 在弹出的密码框中输入:
yourpassword
第 2 步:等待连接成功
VS Code 会在右下角显示 "正在连接...",第一次连接会稍慢(需要安装 VS Code Server 到服务器),之后秒连。
连接成功后,左下角会显示:SSH: 测试服务器
2.4 打开项目文件夹
- 点击 VS Code 左侧的 资源管理器 图标(或按
Ctrl + Shift + E) - 点击 "打开文件夹"
- 输入路径:
/home/test/test-platform-backend - 点击确定
现在就可以像本地项目一样浏览、编辑代码了!
2.5 使用终端
按 ``Ctrl + ```(反引号)打开 VS Code 内置终端,会自动连接到服务器,可以直接运行:
bash
cd /home/test/test-platform-backend
source .venv/bin/activate
./manage.sh status
⚠️ 三、重要:不要和已有服务冲突
3.1 为什么会冲突?
服务器上已经有一个通过 systemd 启动的 test-platform 服务,它占用了 6101 端口。
如果你在 VS Code 终端里直接运行 python main.py,会报错:
ERROR: [Errno 98] Address already in use
因为 一个端口只能被一个进程占用,新的进程起不来。
3.2 那 VS Code 远程开发该怎么用?
核心回答:用 VS Code 打开项目来查看和编辑代码,改完后重启 systemd 服务生效。
具体分几种场景:
场景一:只改代码,不手动运行(推荐)
用 VS Code 编辑代码,改完保存到服务器,然后重启 systemd 服务让改动生效:
bash
# 在 VS Code 终端执行(需要 sudo 密码:yourpassword)
sudo systemctl restart test-platform
sudo systemctl restart test-platform-worker
场景二:想本地调试运行(需要手动跑)
第一步:先停掉已运行的 systemd 服务,释放 6101 端口
bash
sudo systemctl stop test-platform
sudo systemctl stop test-platform-worker
第二步:再手动运行(前台模式,方便看日志和调试)
bash
cd /home/test/test-platform-backend
source .venv/bin/activate
python main.py
此时终端会卡住,显示运行日志,按 Ctrl + C 停止。
第三步:调试完,恢复 systemd 服务
bash
sudo systemctl start test-platform
sudo systemctl start test-platform-worker
场景三:只查看日志(不用运行)
bash
tail -f /home/yyq/test-platform-backend/app.log # 实时看 API 日志
tail -f /home/yyq/test-platform-backend/worker.log # 实时看 Worker 日志
3.3 一句话总结
| 你想做什么 | 怎么做 |
|---|---|
| 👀 查看/编辑代码 | VS Code 直接打开,不要手动运行 |
| 🚀 改完上线 | 保存后 sudo systemctl restart test-platform |
| 🔧 本地调试跑 | 先停 systemd,再 python main.py,用完恢复 |
| 📋 只看日志 | tail -f app.log 或 tail -f worker.log |
四、注意事项
4.1 密码输入
每次连接都需要输入密码。如果不想每次都输,可以配置 SSH 密钥登录(后续优化)。
4.2 端口转发
如果需要在本地浏览器访问服务器服务(如 http://127.0.0.1:6101/docs),可以配置 VS Code 的端口转发(目前发现是自动配置端口转发,不需要手动配置了):
- 在 VS Code 底部状态栏找到 "端口"(PORTS)标签
- 点击 "转发端口"
- 输入端口号
6101 - 访问
http://127.0.0.1:6101/docs

4.3 断开连接
- 关闭 VS Code 窗口即断开
- 或按
F1→Remote-SSH: Close Remote Connection...
4.4 常用操作快捷键
| 快捷键 | 操作 |
|---|---|
Ctrl + Shift + P |
打开命令面板 |
Ctrl + `` |
打开/关闭终端 |
Ctrl + Shift + E |
打开资源管理器 |
Ctrl + S |
保存文件 |
F1 |
打开命令面板(同上) |
五、进阶:VS Code 端口转发访问服务
连接成功后,还可以用 VS Code 自带的端口转发功能,把服务器 6101 端口转发到本地:
- 在 VS Code 底部找到 "端口"(PORTS) 面板
- 点击 "转发端口"
- 输入
6101 - 浏览器访问
http://127.0.0.1:6101/health
这样就不用另开一个 SSH 隧道窗口了,一切都在 VS Code 里完成。