使用 Cursor 工具连接 JumpServer 资产


飞致云 发布于 2025-09-05 / 7 阅读 / 0 评论 /

一. 概述1

本文主要介绍如何通过 Cursor 的 Remote-SSH 插件直连 JumpServer 所纳管的 Linux-SSH 协议资产,从而进行远程开发。

Cursor 是一款基于 VS Code 内核开发、专注于 AI 辅助编程的跨平台源代码编辑器,支持 Mac OS X、Windows 和 Linux。  
主要特性包括:  

- 语法高亮、智能补全  
- 快捷键自定义、括号匹配、代码片段  
- 代码对比 Diff、GIT 命令  
- 插件扩展  
- 强化 AI 代码生成、错误修复、逻辑优化  
- 适合 Web 应用、后端服务及脚本开发

需注意:

- 连接时需在服务器安装客户端(“.cursor-server”),默认安装于登录用户目录(如 root 用户则在 /root)。
- 服务器可连外网时,Cursor 自动下载并安装客户端。
- 服务器无法连外网时,需手动下载或复制已安装的“.cursor-server”目录到目标服务器。
- 复制目录时需确保权限和所属用户与登录用户一致,否则连接失败。建议打包(如 tar)后复制,解压可避免权限问题。

优点

- 插件生态丰富:Cursor 兼容 VS Code 的多数插件,无论是编辑 HTML、CSS、JS、TS、Vue、React 等前端代码,还是 Java、Python、Go 等后端代码,都能找到适配的功能插件,满足不同开发场景需求;

- 远程编辑体验更优:相较于 Xshell、PuTTY 等通过 SSH 命令行连接服务器的工具,Cursor 可直连 JumpServer 资产,直接在编辑器内打开、修改服务器上的文件,无需本地与服务器间反复传输文件;

- 功能集成更高效:除文件编辑外,Cursor 内置终端功能,可直接在编辑器内执行服务器命令(如部署脚本、查看日志等),无需切换多个工具,简化开发流程。

缺点

- 通过该方式直连 JumpServer 的 Linux-SSH 资产时,所有操作(文件修改、命令执行)不会在 JumpServer 中留下操作内容记录与操作录像,无法实现操作审计。
- JumpServer 仅保留基础登录日志(如“某用户登录某资产”),无后续操作追溯依据。

二. 配置 JumpServer 与 Cursor

Cursor的官网地址:https://cursor.com/cn

实现通过 Cursor 的 Remote-SSH 插件直连 JumpServer 所纳管的 Linux-SSH 协议资产还需要在 JumpServer 的配置文件(config.txt)中修改如下:

ENABLE_LOCAL_PORT_FORWARD=true
ENABLE_VSCODE_SUPPORT=true

注意: 修改完配置文件后需要重启堡垒机让配置文件生效。

Cursor 配置

1.安装Cursor 后下载 Remote-ssh 插件(注意: 目前最新版本V1.0.26存在bug, 会导致安装连接服务失败的问题这里使用V1.0.0的Remote-ssh插件进行连接没有问题)。 具体步骤:在 “扩展” 中搜索 “ Remote-ssh ”,得到插件进行安装。安装后左下角出现蓝色小标,如下图所示。

2.点击左下角绿色标识,中间上方选择 “ Connect to Host... ”

3.点击 Add new SSH Host , 自动跳转到配置文件编辑页面,文件内容如下图所示

Host jumpserverMFA(名称自定义,建议只用字母、数字和下划线,避免特殊字符和空格,确保唯一且简洁)
   HostName jumpserverHostIP
    User jumpserverUsername@AssetAccount@AssetIP
    Port 2222
解释:
- jumpserverUsername:登录 JumpServer 的用户
- AssetAccount:连接资产指定的资产账号
- AssetIP:指定要连接的资产
- jumpserverHostIP:JumpServer 服务 IP
- 2222:KOKO 端口
注:
AssetAccount 是该资产所有授权中,唯一的登录用户名,只匹配一条
AssetIP 是所有资产授权中,唯一匹配到 IP,只匹配一条


4.选择连接的资产,输入登录 JumpServer 的密码。

5.如果开启了MFA 验证, 则会在输入完密码后 弹出让输入 MFA验证码OTP Code

6.资产连接成功 ,左下角会显示目标主机, 打开终端即可对资产进行操作。

(可选)免密登录配置

要实现免密,核心是将 JumpServer 用户的认证方式从密码改为 SSH 公钥认证

一. 本地生成密钥对

如果还没有密钥对,请在本地机器(运行 Cursor 的电脑)的终端或 PowerShell 中执行以下命令:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/jumpserver_cursor_key


  • -t rsa: 指定密钥类型为 RSA

  • -b 4096: 指定密钥长度为 4096 位(更安全)

  • -C: 添加一个注释,通常用邮箱或标识用途

  • -f: 指定密钥文件的保存路径和文件名。这里示例为 ~/.ssh/jumpserver_cursor_key(私钥)和 jumpserver_cursor_key.pub(公钥)

全程回车即可,除非想为私钥设置密码(passphrase)。如果设置了,则每次使用密钥时仍需输入该密码,无法完全免密。为了实现完全免密,请不要设置密码,直接回车。

二.  将公钥添加到 JumpServer 用户账号

点击右上角用户名, 进入 个人信息,然后在右侧认证配置栏中, 点击 更新SSH公钥, 然后在 登录SSH公钥处点击创建, 将公钥文件全部内容复制粘贴到 JumpServer "SSH 公钥" 的输入框中。

三. 修改Cursor(Remote-SSH)的 SSH 配置文件

Host jumpserverMFA # 自定义的主机别名
   HostName jumpserverHostIP # JumpServer 服务器的 IP 地址或域名
   User jumpserverUsername@AssetAccount@AssetIP # 连接格式:JumpServer用户@资产账号@资产IP
   Port 2222 # JumpServer Koko 组件的端口,默认为 2222
   IdentityFile ~/.ssh/jumpserver_cursor_key # 新增:指向本地私钥文件的绝对路径
   # PreferredAuthentications publickey # (可选)强制使用公钥认证,如果配置有问题可注释掉
   StrictHostKeyChecking no # (可选)避免因跳板机主机密钥变化而连接失败
   UserKnownHostsFile /dev/null # (可选)不严格检查 JumpServer 的主机密钥

关键参数说明:

  • IdentityFile: 此项为核心新增项,指向生成的私钥文件的路径。

  • PreferredAuthentications: 如果取消注释,会指示 SSH 客户端优先甚至只使用公钥认证,有助于排除密码认证的干扰。

四. 测试连接

完成以上配置后,再次在 Cursor 中选择 Connect to Host... -> 选择配置的 jumpserverMFA

  • 如果配置成功,Cursor 将自动使用私钥进行认证,不再提示输入 JumpServer 的用户密码,应该会直接连接成功或仅提示输入 MFA 验证码(如果已启用)

  • 如果连接失败,请检查 Cursor 的输出终端或系统的 SSH 日志(如使用 ssh -v jumpserverMFA 命令调试),常见问题是公钥未正确复制或私钥路径错误

重要补充说明:关于 MFA (OTP)

  • 如果 JumpServer 用户启用了 MFA(多因素认证),即使配置了 SSH 密钥,通常仍然需要手动输入一次性的动态验证码

  • SSH 协议本身没有标准机制能自动处理动态令牌。这是出于安全设计,MFA 就是为了防止完全自动化的登录

  • 因此,“一键连接”仅适用于未启用 MFA 的 JumpServer 用户账号。若需兼顾安全与便利,可考虑仅在特定环境(如测试开发)的账号上禁用 MFA,但需评估安全风险。





是否对你有帮助?