零基础指南:用 Cursor + Remote SSH 连接远程服务器
本文面向零基础读者,从安装扩展、理解原理,到本机与远程服务器的完整配置,再到日常运维工作流程,手把手带你用 Cursor 操作远程 Linux 服务器。
示例环境:Windows 本机 + Rocky Linux 9 虚拟机,其他 Linux 发行版(Ubuntu、CentOS 等)步骤类似。
目录
1. Remote SSH 是什么?有什么用?

1.1 一句话解释
Remote SSH 是 Cursor(以及 VS Code)的远程开发扩展。它让你在本机打开 Cursor 界面,但实际连接的是远程 Linux 服务器——文件、终端、调试都在远程执行。
可以把它理解成:
你的 Windows/Mac 电脑 ←——SSH 隧道——→ 远程 Linux 服务器
(Cursor 界面) (代码、命令、服务)
1.2 它能做什么?
| 远程编辑文件 | 像打开本地文件夹一样浏览、编辑服务器上的代码和配置 |
| 远程终端 | Cursor 内置终端实际运行在远程机上,执行的命令都在服务器上 |
| 远程调试 | 调试器、Linter、语言服务可运行在远程,与服务器环境一致 |
| 扩展同步 | 部分扩展会自动安装到远程侧,在远程环境生效 |
| Git 操作 | 在远程目录内直接 commit、pull、push |
1.3 第一次连接时 Cursor 会装什么?
连接成功后,Cursor 会在远程服务器自动下载并安装 Cursor Server(后台服务进程),用于:
- 读写远程文件
- 提供语法高亮、代码补全
- 支撑远程终端
你不需要手动安装 Cursor 到服务器,扩展会自动完成。首次连接可能需要 1~3 分钟,请耐心等待。
1.4 和「本地 SSH 终端」的区别
| Git Bash / Windows Terminal 里 ssh | 只有命令行,改文件要用 vi/nano |
| Cursor Remote SSH | 完整 IDE:文件树、搜索、多标签编辑、集成终端一体化 |
2. 适用场景与不适合的场景
2.1 适合
- 在远程服务器上部署、运维项目(改配置、看日志、重启服务)
- 远程服务器与生产/测试环境一致,需要在真实环境里排查问题
- 本机性能有限,希望把构建、运行放到远程机
- 团队共用一台开发/测试服务器
2.2 不一定需要 Remote SSH
- 部署只是固定几步命令(git pull && build && restart),用本地终端 + 脚本即可
- 从不在服务器上改文件,只执行命令
- 已有 CI/CD 流水线自动部署
2.3 推荐工作模式(本地开发 + 远程运维)
很多团队采用:
| 日常写代码、本地调试 | 本机 Cursor 打开项目 |
| 部署、改 nginx、看日志、重启服务 | 按需 Remote SSH 连服务器 |
Remote SSH 不必一直挂着,需要运维时再连即可。
3. 前置条件检查清单
开始配置前,确认以下信息:
3.1 你需要准备的信息
| 服务器 IP | 192.168.95.47 | 远程执行 ip addr 或问运维 |
| SSH 用户名 | jyccopey | 你的 Linux 登录账号 |
| SSH 端口 | 22(默认) | 若改过端口需记下 |
| 登录密码 | (首次配置密钥时需要) | 系统安装时设置 |
3.2 网络要求
- 本机能 ping 通 服务器 IP
- 本机已安装 OpenSSH 客户端(Windows 10/11 一般自带)
在本机 PowerShell 或 Git Bash 测试:
ping 192.168.95.47
ssh -V
3.3 远程服务器要求
- 已安装并运行 OpenSSH 服务端(sshd)
- 防火墙放行 22 端口(或你的自定义 SSH 端口)
- 有一个可登录的普通用户账号(不建议日常用 root 直连)
4. 第一步:在 Cursor 中安装 Remote SSH 扩展
4.1 打开扩展市场
4.2 安装正确的扩展
在 Cursor 中,请安装 Anysphere 发布 的版本:
| 扩展名称 | Remote – SSH |
| 发布者 | Anysphere(cursor.com) |
| 扩展 ID | anysphere.remote-ssh |
注意:Cursor 使用的是 Anysphere 适配版 Remote SSH,与 VS Code 的 ms-vscode-remote.remote-ssh 类似但独立维护。在 Cursor 扩展市场里搜到的 Anysphere 版本即可。
4.3 安装后如何确认
- 扩展页显示 「禁用」「卸载」 按钮(表示已安装)
- 按 Ctrl+Shift+P 打开命令面板,输入 Remote-SSH,能看到相关命令,例如:
- Remote-SSH: Connect to Host…
- Remote-SSH: Open SSH Configuration File…

5. 第二步:在远程服务器上配置 SSH
以下命令在远程 Linux 服务器的终端中执行(虚拟机控制台、或已有 SSH 登录后的终端均可)。
5.1 安装并启动 SSH 服务
以 Rocky Linux 9 / RHEL / CentOS 为例:
# 安装 OpenSSH 服务端(多数系统已预装)
sudo dnf install -y openssh-server
# 设置开机自启并立即启动
sudo systemctl enable –now sshd
# 确认服务状态为 active (running)
sudo systemctl status sshd
Ubuntu / Debian 用户将 dnf 换成 apt:
sudo apt update
sudo apt install -y openssh-server
sudo systemctl enable –now ssh
5.2 配置防火墙
# firewalld(Rocky / CentOS)
sudo firewall-cmd –permanent –add-service=ssh
sudo firewall-cmd –reload
# 验证 22 端口在监听
ss -tlnp | grep :22
若使用 ufw(Ubuntu):
sudo ufw allow ssh
sudo ufw enable
5.3 查看服务器 IP 地址
ip addr
找到类似 192.168.x.x 的地址,记下网卡名(如 ens160)和 IP,后续配置要用。
5.4 空服务器也可以连接吗?
可以。 远程机不需要预装 Node、Git、Docker 等。只要 sshd 在运行、你能登录,Cursor 就能连上。跑项目所需的工具可以连上后再按需安装。
6. 第三步:在本机(Windows)配置 SSH
6.1 SSH 配置文件位置
Windows 上 SSH 配置文件路径:
C:\\Users\\<你的用户名>\\.ssh\\config
若 .ssh 文件夹或 config 文件不存在,手动创建即可。
6.2 编辑 config 文件
在 Cursor 中:
# 我的 Rocky Linux 9 虚拟机
Host rocky9
HostName 192.168.95.47
User jyccopey
Port 22
IdentityFile ~/.ssh/id_ed25519
# 保持连接,减少 Remote SSH 意外断线
ServerAliveInterval 60
ServerAliveCountMax 3
字段说明:
| Host | 别名,连接时选这个名字(如 rocky9) |
| HostName | 服务器 IP 或域名 |
| User | 远程登录用户名 |
| Port | SSH 端口,默认 22 |
| IdentityFile | 私钥路径(配置密钥登录后使用) |
| ServerAliveInterval | 每 60 秒发心跳包,防止空闲断线 |
将 HostName、User 改成你自己的值。
6.3 测试 SSH 能否连通
在本机 Git Bash 或 PowerShell 中:
# 使用别名连接
ssh rocky9
# 或不使用 config,直接指定用户和 IP
ssh jyccopey@192.168.95.47
成功标志: 出现远程 shell 提示符,例如 [jyccopey@linux ~]$。
输入 exit 可退出远程连接。
7. 第四步:配置 SSH 密钥登录(推荐)
密钥登录可以避免每次连接都输入密码,Remote SSH 体验更流畅。
7.1 在本机生成密钥对
在本机终端执行(若已有 ~/.ssh/id_ed25519 可跳过):
ssh-keygen -t ed25519 -C "cursor-remote" -f ~/.ssh/id_ed25519
- 提示 passphrase 时可直接回车(空密码),或设置一个密码短语
- 生成两个文件:
- id_ed25519 — 私钥(切勿泄露)
- id_ed25519.pub — 公钥(要复制到服务器)
7.2 将公钥添加到远程服务器
方式 A:使用 ssh-copy-id(本机执行,需输入一次密码)
ssh-copy-id jyccopey@192.168.95.47
方式 B:在远程服务器上手动添加(推荐新手,避免粘贴问题)
在远程服务器上逐条执行(不要一次粘贴多行,防止终端粘贴模式插入乱码):
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo 'ssh-ed25519 AAAA…你的公钥内容… cursor-remote' >> ~/.ssh/authorized_keys
将 echo 那一行中的公钥替换为本机 C:\\Users\\<用户名>\\.ssh\\id_ed25519.pub 文件的完整一行内容。
在本机查看公钥:cat ~/.ssh/id_ed25519.pub
chmod 600 ~/.ssh/authorized_keys
cat ~/.ssh/authorized_keys
确认输出中包含你的公钥一行。
7.3 验证免密登录
在本机执行:
ssh rocky9
若不再提示输入密码且直接进入远程 shell,说明密钥配置成功。
7.4 粘贴命令时的常见坑
若出现类似错误:
bash: mkdir: 未找到命令…
且命令开头有 ^[[200~ 等乱码,是终端 bracketed paste(括号粘贴模式) 导致的。解决方式:
- 逐条复制执行命令,不要一次粘贴整段
- 或使用 vi ~/.ssh/authorized_keys 手动粘贴公钥后保存
8. 第五步:在 Cursor 中连接远程服务器
8.1 发起连接
- 若列表中没有,可选 Add New SSH Host…,输入 jyccopey@192.168.95.47,Cursor 会帮你写入 config
8.2 等待 Cursor Server 安装
首次连接时,Cursor 会在远程自动下载安装 Cursor Server。左下角或通知区域可能显示:
Setting up SSH Host rocky9…
Installing Cursor Server…
请保持网络畅通,等待 1~3 分钟。完成后左下角状态栏显示:
SSH: rocky9
表示已成功连接。
8.3 打开远程文件夹
- /home/jyccopey — 用户主目录
- /home/jyccopey/app — 你的项目部署目录
- /etc/nginx — 配置文件目录(可能需要权限)
此时左侧文件树显示的是远程服务器上的文件。
8.4 使用远程终端
- 按 Ctrl+` 打开集成终端
- 终端提示符应为远程用户,例如 [jyccopey@linux ~]$
- 在此执行的命令(ls、systemctl、docker 等)均在远程运行
8.5 断开连接
- 左下角点击 SSH: rocky9 → 选择 Close Remote Connection
- 或 Ctrl+Shift+P → Remote-SSH: Close Remote Connection
断开后 Cursor 回到本地模式,可继续打开本机项目。
9. 日常工作流程
9.1 模式一:本地开发 + 远程运维(推荐)
┌─────────────────────────────────────────────────────────┐
│ 本机 Cursor 窗口 A │
│ 打开:D:\\project\\my-app │
│ 用途:日常开发、本地 dev、Git 提交 │
└─────────────────────────────────────────────────────────┘
需要部署 / 改配置 / 看日志时 ↓
┌─────────────────────────────────────────────────────────┐
│ 本机 Cursor 窗口 B(Remote SSH) │
│ 连接:rocky9 → /home/jyccopey/app │
│ 用途:部署脚本、改 .env、nginx、systemd、查日志 │
└─────────────────────────────────────────────────────────┘
操作步骤:
cd /home/jyccopey/app
git pull
pnpm install
pnpm build
sudo systemctl restart my-app
journalctl -u my-app -f
# 或
tail -f /var/log/nginx/access.log
9.2 模式二:纯远程运维(不改本地代码)
若服务器上已有项目,仅做运维:
9.3 多服务器管理
在 ~/.ssh/config 中为每台机器添加一段 Host:
Host dev-server
HostName 192.168.1.10
User deploy
IdentityFile ~/.ssh/id_ed25519
Host prod-server
HostName 10.0.0.50
User deploy
IdentityFile ~/.ssh/id_ed25519
Port 2222
连接时在 Connect to Host… 列表中选择对应别名即可。
9.4 扩展在远程的行为
- 部分扩展需要在远程侧再安装一次(Cursor 会提示「Install in SSH: rocky9」)
- 语言支持(Vue、ESLint、Prettier 等)若要在远程生效,建议在 Remote 窗口内安装对应扩展
10. 常见问题与排查
10.1 连接超时(Connection timed out)
| IP 错误 | 核对 HostName |
| 虚拟机网络不通 | 本机 ping 服务器 IP |
| 防火墙未放行 | 远程执行 firewall-cmd –list-all |
| sshd 未运行 | sudo systemctl start sshd |
10.2 Permission denied (publickey,password)
| 用户名错误 | 检查 config 中 User |
| 密码错误 | 重新输入或使用密钥 |
| 公钥未写入 | 检查远程 ~/.ssh/authorized_keys |
| 权限不对 | .ssh 应为 700,authorized_keys 应为 600 |
在远程执行:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
10.3 卡在 Installing Cursor Server
| 远程无法访问外网 | 确保服务器能下载 Cursor Server 安装包 |
| 磁盘空间不足 | df -h 检查 |
| 权限不足 | 确保对 home 目录有写权限 |
可查看 Cursor 输出面板:View → Output,下拉选择 Remote – SSH 查看详细日志。
10.4 粘贴命令出现 ^[[200~ 乱码
终端 bracketed paste 导致。请逐条执行命令,或使用 vi 手动编辑文件。
10.5 连接经常断开
在 config 中增加(本文示例已包含):
ServerAliveInterval 60
ServerAliveCountMax 3
10.6 Windows 私钥权限报错
若提示 Permissions for 'id_ed25519' are too open,在 PowerShell(管理员) 中:
icacls C:\\Users\\<用户名>\\.ssh\\id_ed25519 /inheritance:r
icacls C:\\Users\\<用户名>\\.ssh\\id_ed25519 /grant:r "<用户名>:R"
10.7 post-quantum key exchange 警告
连接时出现:
WARNING: connection is not using a post-quantum key exchange algorithm.
这是 OpenSSH 的安全提示,不影响正常使用,可暂时忽略。升级服务器 OpenSSH 后可消除。
11. 附录:命令速查表
本机(Windows)
# 测试网络
ping 192.168.95.47
# 测试 SSH
ssh rocky9
# 生成密钥
ssh-keygen -t ed25519 -C "cursor-remote" -f ~/.ssh/id_ed25519
# 复制公钥到服务器(需输入一次密码)
ssh-copy-id jyccopey@192.168.95.47
# 查看公钥
cat ~/.ssh/id_ed25519.pub
远程服务器(Linux)
# 安装并启动 SSH
sudo dnf install -y openssh-server
sudo systemctl enable –now sshd
# 防火墙
sudo firewall-cmd –permanent –add-service=ssh
sudo firewall-cmd –reload
# 查看 IP
ip addr
# 配置 authorized_keys
mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo '公钥内容' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Cursor 命令面板
| Remote-SSH: Connect to Host… | 连接远程主机 |
| Remote-SSH: Open SSH Configuration File… | 编辑 SSH config |
| Remote-SSH: Close Remote Connection | 断开远程连接 |
| Remote-SSH: Kill VS Code Server on Host… | 远程 Server 异常时重置 |
总结
| 1 | Cursor | 安装 Remote – SSH(Anysphere) |
| 2 | 远程服务器 | 安装启动 sshd,防火墙放行 22 端口 |
| 3 | 本机 | 编辑 ~/.ssh/config,配置 Host 别名 |
| 4 | 本机 + 远程 | 配置 SSH 密钥,实现免密登录 |
| 5 | Cursor | Connect to Host → Open Folder → 远程终端运维 |
配置完成后,你可以在本机 Cursor 中无缝操作远程 Linux 服务器:编辑配置、执行命令、查看日志,而无需在「本地 IDE」和「纯 SSH 终端」之间来回切换。
文档版本:2026-07-06 · 示例环境:Windows + Rocky Linux 9 + Cursor Remote SSH (anysphere.remote-ssh)





