news 2026/2/27 2:20:32

【AI】解决 Cursor 无法通过 SSH 连接 Linux 服务器的问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【AI】解决 Cursor 无法通过 SSH 连接 Linux 服务器的问题

解决 Cursor 无法通过 SSH 连接 Linux 服务器的问题

📋 问题描述

在使用 Cursor 编辑器通过 Remote-SSH 连接 Linux 服务器时遇到连接失败的问题:

  • MobaXterm 中可以正常连接ssh song@10.12.15.111
  • Cursor 中连接失败ssh song@10.12.15.111
  • 使用-F /dev/null可以连接ssh -F /dev/null song@10.12.15.111

🔍 问题排查过程

第一步:检查 SSH 配置文件

首先怀疑是 SSH 配置文件的问题。检查用户配置文件:

cat~/.ssh/config

配置文件内容正常:

Host song123 HostName 10.12.15.111 User song Port 22

第二步:查看详细错误信息

在 Cursor 的 PowerShell 中运行:

ssh-vvv song@10.12.15.111

发现关键错误:

debug3: connectex - ERROR ConnectEx() :10013 debug1: connect to address 10.12.15.111 port 22: Permission denied ssh: connect to host 10.12.15.111 port 22: Permission denied

错误代码 10013 = WSAEACCES(权限被拒绝)

第三步:验证网络连通性

Test-NetConnection10.12.15.111-Port 22

结果:TcpTestSucceeded : True

这说明网络层面是通的,问题不在网络。

第四步:定位问题根源

通过对比发现:

  1. MobaXterm 使用自己的 SSH 客户端(Cygwin 环境)
  2. Cursor 使用 Windows 自带的 OpenSSHC:\Windows\System32\OpenSSH\ssh.exe

问题很可能是:Windows 防火墙或安全软件拦截了ssh.exe的出站连接

第五步:检查 MobaXterm 的 SSH 配置

在 MobaXterm 中检查系统配置文件:

cat/etc/ssh_config

发现问题:

User "" ForwardAgent no ... UseRoaming no

错误信息显示:

/etc/ssh_config line 1: Missing argument. /etc/ssh_config line 10: Deprecated option "useroaming" /etc/ssh_config: terminating, 1 bad configuration options

根本原因

  • 第1行User ""语法错误(空字符串导致解析失败)
  • 第10行UseRoaming no是已弃用的选项

这就是为什么ssh -F /dev/null可以连接(跳过了配置文件),而直接ssh失败的原因。

🛠️ 解决方案

方案 A:修复 MobaXterm 的系统配置文件(适用于 MobaXterm)

找到 MobaXterm 的配置文件位置(便携版通常在临时目录):

cygpath -w /etc/ssh_config# 输出示例:D:\Temp\MxtXXX\mx86_64b\etc\ssh_config

编辑文件,注释掉有问题的行:

# User "" ← 注释掉第1行 ForwardAgent no Compression yes PreferredAuthentications hostbased,publickey,password,keyboard-interactive ForwardX11 yes ForwardX11Trusted yes NoHostAuthenticationForLocalhost yes StrictHostKeyChecking no CheckHostIP no # UseRoaming no ← 注释掉第10行

方案 B:让 Cursor 使用 MobaXterm 的 SSH 客户端(推荐)

1. 复制 MobaXterm 的 SSH 到固定目录

找到 MobaXterm 的 SSH 可执行文件:

cygpath -w"$(whichssh)"# 输出示例:D:\Temp\MxtXXX\mx86_64b\bin\ssh.exe

重要:不要直接使用临时目录路径(D:\Temp\...),因为临时目录会变化。

将整个mx86_64b目录复制到固定位置,例如:

C:\Tools\MobaSSH\mx86_64b\bin\ssh.exe

或使用_ssh.exe(实际二进制文件):

C:\Tools\MobaSSH\mx86_64b\bin\_ssh.exe
2. 配置 Cursor 使用新的 SSH 路径

打开 Cursor 的设置(Ctrl + Shift + J→ 点击右上角{}打开 JSON),添加:

{"remote.SSH.path":"C:\\Tools\\MobaSSH\\mx86_64b\\bin\\_ssh.exe","remote.SSH.configFile":"C:\\Users\\你的用户名\\.ssh\\config","remote.SSH.remotePlatform":{"song123":"linux"}}

关键配置说明

  • remote.SSH.path:指定 SSH 可执行文件的完整路径
  • remote.SSH.configFile必须指定,因为 MobaXterm 的 SSH 使用 Cygwin 路径系统,默认不会读取 Windows 路径下的配置文件
  • remote.SSH.remotePlatform:指定远程主机平台类型
3. 验证配置

在 Cursor 的 PowerShell 中测试:

&"C:\Tools\MobaSSH\mx86_64b\bin\_ssh.exe"-V &"C:\Tools\MobaSSH\mx86_64b\bin\_ssh.exe"-F"C:\Users\你的用户名\.ssh\config"song123

如果测试成功,重启 Cursor,然后通过 Remote-SSH 连接服务器。

✅ 最终配置

SSH 配置文件(C:\Users\你的用户名\.ssh\config

Host song123 HostName 10.12.15.111 User song Port 22

Cursor 设置(settings.json

{"remote.SSH.path":"C:\\Tools\\MobaSSH\\mx86_64b\\bin\\_ssh.exe","remote.SSH.configFile":"C:\\Users\\你的用户名\\.ssh\\config","remote.SSH.remotePlatform":{"song123":"linux"}}

📝 问题总结

问题根源

  1. Windows 防火墙/安全软件拦截:Windows 自带的ssh.exe被拦截,导致连接失败(错误 10013)
  2. 配置文件路径不匹配:MobaXterm 的 SSH 使用 Cygwin 路径系统,默认不读取 Windows 路径下的配置文件

解决思路

  1. 绕过 Windows 防火墙限制:使用 MobaXterm 的 SSH 客户端(不被拦截)
  2. 明确指定配置文件路径:通过remote.SSH.configFile让 Cursor 知道配置文件位置

关键要点

  • ✅ 必须同时配置remote.SSH.pathremote.SSH.configFile
  • ✅ 使用固定路径,不要使用临时目录
  • ✅ 如果使用_ssh.exe,必须指定配置文件路径
  • ✅ 配置完成后需要重启 Cursor

🎯 其他可能的解决方案

方案 C:修复 Windows 防火墙规则(如果方案 B 不可用)

  1. 打开"高级安全 Windows Defender 防火墙"(Win + Rwf.msc
  2. 创建出站规则:
    • 程序:C:\Windows\System32\OpenSSH\ssh.exe
    • 操作:允许连接
    • 配置文件:根据你的网络类型选择(专用/公用/域)

方案 D:使用 Git for Windows 的 SSH

如果安装了 Git for Windows,可以使用它的 SSH:

{"remote.SSH.path":"C:\\Program Files\\Git\\usr\\bin\\ssh.exe"}

🔗 相关资源

  • Cursor Remote-SSH 官方文档
  • OpenSSH for Windows 文档
  • MobaXterm 官网

最后更新:2026年1月14日

标签:Cursor, SSH, Remote-SSH, Windows, 故障排查

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/19 22:02:13

Keyboard Chatter Blocker:三步快速解决机械键盘连击问题

Keyboard Chatter Blocker:三步快速解决机械键盘连击问题 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 还在为键盘重复输入…

作者头像 李华
网站建设 2026/2/24 19:52:31

提升开发效率的IDE个性化设置

提升开发效率的IDE个性化设置 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本) 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack 作为一名长期使用Android Studio进行移动应用开发的…

作者头像 李华
网站建设 2026/2/20 4:27:21

Kotaemon多模型对比:云端5块钱试遍所有配置

Kotaemon多模型对比:云端5块钱试遍所有配置 你是不是也遇到过这种情况:想测试Kotaemon在不同大语言模型(LLM)下的问答效果,比如用Llama 3、Qwen、DeepSeek或者ChatGLM分别跑一遍文档检索增强生成(RAG&…

作者头像 李华
网站建设 2026/2/22 4:39:12

边缘可部署的实时翻译方案|体验HY-MT1.5-1.8B与7B双模能力

边缘可部署的实时翻译方案|体验HY-MT1.5-1.8B与7B双模能力 随着多语言交流需求的不断增长,高质量、低延迟的翻译服务成为智能设备、跨境通信和本地化应用的核心支撑。然而,传统云端翻译方案在隐私保护、网络依赖和响应速度方面存在明显短板。…

作者头像 李华
网站建设 2026/2/15 20:28:25

5分钟学会DLSS版本替换:游戏画质升级的终极秘籍

5分钟学会DLSS版本替换:游戏画质升级的终极秘籍 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 还在为游戏画质不够清晰、帧率频繁波动而困扰吗?DLSS Swapper这款专业的DLSS版本管理工具&#x…

作者头像 李华
网站建设 2026/2/19 22:37:45

语义相似度技术落地新选择|集成Flask WebUI的GTE中文模型镜像发布

语义相似度技术落地新选择|集成Flask WebUI的GTE中文模型镜像发布 1. 项目概览:GTE 中文语义相似度服务是什么? 在自然语言处理(NLP)的实际应用中,语义相似度计算是构建智能系统的核心能力之一。无论是问…

作者头像 李华