最近想在服务器上训练模型时,直接用 Cursor 进行 AI 辅助开发。
我的使用环境是:
- 本地:Windows
- 远程服务器:Linux
- 连接工具:MobaXterm
- 目标:在 Cursor 中通过 Remote SSH 连接服务器,让 Agent 直接访问服务器上的项目文件,避免来回复制代码和日志
一开始我以为这件事会很简单:既然 MobaXterm 能 SSH 上去,那 Cursor 应该也能直接连。结果实际折腾下来,踩了不少坑。这里把完整过程记录一下,希望能帮到遇到类似问题的人。
一、最开始的想法:在 Cursor 里直接用 Remote SSH
我一开始已经能通过 MobaXterm 正常连接服务器,服务器信息大概是:
- IP:192.168.xxx.xxx
- 端口:22
- 登录方式:账号、密码
于是我就在本地配置了 ~/.ssh/config,内容类似这样:
Host myserver
HostName 192.168.xxx.xxx
User your_username
Port 22
然后在 Cursor 里按:
Ctrl + Shift + P
搜索:
Connect to SSH Host
并选择 myserver。
二、第一次连接时的正常提示:SSH 指纹确认
第一次在终端里执行:
ssh myserver
会出现这种提示:
The authenticity of host '192.168.xxx.xxx (…)' can't be established.
ECDSA key fingerprint is SHA256:xxxx…
Are you sure you want to continue connecting (yes/no/[fingerprint])?
这个提示是正常的,表示这是第一次连接这台机器,需要确认指纹。
直接输入:
yes
然后继续输入密码即可。
这一阶段说明 SSH 本身是通的。
三、问题出现:终端能 ssh,但 Cursor 的 Remote SSH 死活连不上
我在本地终端里执行:
ssh myserver
是可以登录的。
但在 Cursor 里使用 Connect to SSH Host -> myserver,会卡住两分钟,然后报错。日志大概如下:
Resolving ssh remote authority 'myserver'
Launching SSH server via shell with command:
type "C:\\Users\\***\\AppData\\Local\\Temp\\cursor_remote_install_xxx.sh" | ssh -T -D xxxx myserver bash –login -c bash
Waiting for SSH handshake (timeout: 120s)
Error installing server: SSH connection timed out after 120s without receiving any data from the remote host
也就是说:
- 普通终端 SSH 能连
- Cursor Remote SSH 不行
- 报错是:120 秒超时,没有从远程主机收到数据
这一步很容易让人误以为是 SSH 配置错了,但后来复盘发现,问题没这么简单。
四、先排查 shell 配置:怀疑是 .bashrc 有干扰
很多 Remote SSH 问题都是因为远程 shell 初始化时输出了多余内容,比如:
- echo "welcome"
- conda activate xxx
- nvidia-smi
这些东西在手动 ssh 时可能没问题,但 Remote SSH 是非交互模式,容易被搞挂。
所以我先检查了:
vim ~/.bashrc
结果发现 .bashrc 本身是正常的,前面已经有这段经典保护:
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
这说明 .bashrc 不是问题根源。
五、继续排查:服务器依赖和网络也没问题
我又检查了服务器上是不是缺少 Cursor 安装需要的依赖:
which tar
which gzip
which curl
which wget
结果全部都有。
然后又测试了服务器能不能访问外网更新地址:
curl -I https://update.code.visualstudio.com
也是正常返回的。
六、关键发现:Cursor 连接服务器时,不只是 SSH,还要下载 cursor-server
Cursor Remote SSH 的流程:
1. SSH连接服务器
2. 在服务器执行安装脚本
3. 下载 cursor-server.tar.gz
4. 解压到 ~/.cursor-server
5. 启动服务
👉 普通 ssh 能连 ≠ Remote SSH 能用
七、尝试手动下载 cursor-server,但第一次下载链接是错的
执行:
cursor –version
得到:
2.x.x
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x64
我最开始直接用这个 hash 拼下载链接,结果:
AccessDenied
说明这个链接是错的。
八、关键突破:如何找到 Cursor 临时安装脚本(重点补充)
👉 这一步是整个问题的核心突破点
步骤如下:
1️⃣ 先让 Cursor 再连接一次(哪怕失败)
Ctrl + Shift + P
→ Connect to SSH Host
→ myserver
等它报错(timeout)
2️⃣ 打开本地临时目录
在 Windows 资源管理器打开:
C:\\Users\\你的用户名\\AppData\\Local\\Temp\\
👉 可以直接在地址栏输入:
%TEMP%
3️⃣ 找这个文件
cursor_remote_install_*.sh
👉 文件名类似:
cursor_remote_install_91c600a1-xxxx.sh
4️⃣ 打开这个 .sh 文件
用记事本 / VS Code 打开
5️⃣ 搜索关键词
cursor-reh-linux-x64.tar.gz
你会看到类似:
SERVER_COMMIT="xxx"
SERVER_REAL_COMMIT="yyy"
👉 关键点:
❗ 真正下载用的是 SERVER_REAL_COMMIT
6️⃣ 拼出正确下载链接
https://downloads.cursor.com/production/SERVER_REAL_COMMIT/linux/x64/cursor-reh-linux-x64.tar.gz
九、成功下载正确的压缩包
修正链接后成功下载:
cursor-reh-linux-x64.tar.gz
大小:
约 90MB
十、手动上传 + 解压
上传到服务器:
~/cursor-reh-linux-x64.tar.gz
执行:
mkdir -p ~/.cursor-server/bin/linux-x64/你的commit
tar -xzf ~/cursor-reh-linux-x64.tar.gz \\
-C ~/.cursor-server/bin/linux-x64/你的commit \\
–strip-components=1
十一、问题仍未解决(关键转折)
即使手动部署完 server:
👉 还是 timeout ❌
说明:
👉 问题不只是下载
十二、真正解决:改成 SSH 密钥登录
本地生成:
ssh-keygen -t ed25519
查看公钥:
type %USERPROFILE%\\.ssh\\id_ed25519.pub
写入服务器:
mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys
粘贴后:
chmod 600 ~/.ssh/authorized_keys
修改 config:
Host myserver
HostName 192.168.xxx.xxx
User your_username
Port 22
IdentityFile C:\\Users\\***\\.ssh\\id_ed25519
测试:
ssh myserver
👉 不用输入密码 = 成功
十三、最终成功
重新连接 Cursor:
Connect to SSH Host → myserver
成功标志:
- 左侧显示 [SSH: myserver]
- 路径是 /home/…
- AI 可直接访问服务器文件
网硕互联帮助中心




![99Ai4.2.4源码包完整部署指南[特殊字符]支持宝塔本地与服务器安装|可二次开发|可商用-网硕互联帮助中心](https://www.wsisp.com/helps/wp-content/uploads/2026/07/20260724172143-6a639f2708a8f-220x150.jpg)

评论前必须登录!
注册