云计算百科
云计算领域专业知识百科平台

Cursor Remote SSH 连接服务器失败(120s超时)完整排查与解决(含 cursor-server 手动部署)

最近想在服务器上训练模型时,直接用 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 可直接访问服务器文件

赞(0)
未经允许不得转载:网硕互联帮助中心 » Cursor Remote SSH 连接服务器失败(120s超时)完整排查与解决(含 cursor-server 手动部署)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!