MobaRust 部署与使用教程

MobaRust 是一款免费、开源的 MobaXterm 替代品,使用 Rust 构建,为开发者、运维工程师和系统管理员提供了一个集 SSH、SFTP、SCP、终端、隧道、串口、Telnet 及远程诊断于一体的桌面工作空间。本教程将指导你完成从安装到使用的全过程。


一、核心功能概览

MobaRust 旨在将远程工作中常用的工具整合到统一界面中,避免在多个应用间切换。其核心能力包括:

功能领域 主要能力
SSH 终端 原生 SSH 连接,支持主机密钥验证、密码/密钥/SSH-agent 认证、PTY 大小调整、保活、重连与取消操作。
SFTP / SCP 远程文件浏览、递归传输、进度显示、取消、冲突处理、权限保留及原生 SCP 兼容。
会话管理 保存配置文件、文件夹组织、标签、收藏、快速搜索、OpenSSH 配置导入、跳转主机链。
SSH 隧道 本地转发、远程转发、动态 SOCKS5、显式生命周期管理与停止控制。
本地终端 原生 PTY、Shell 生命周期、分屏、持久标签页、支持 PowerShell/cmd/Unix Shell 及 WSL。
操作工具 支持变量替换的代码片段、可视宏、显式多目标执行、网络诊断与端口检查。
Telnet / 串口 传统 Telnet(带明文加密标注)与串口配置、终端 I/O、刷新、重连。
实验性功能 RDP 和 VNC 作为独立候选功能,正在积极开发中,目前可用于本地测试。

二、系统架构概览

MobaRust 采用分层架构,确保安全性与性能:

层级 技术栈 核心职责
用户界面层 React + TypeScript + xterm.js 渲染桌面 UI,处理用户交互与显示。
桌面边界层 Rust + Tauri 提供类型安全的 IPC 通信,管理原生网络套接字、PTY、文件系统、进程与凭证。
功能模块 Rust 实现 包括 SSH/SFTP/SCP、隧道、会话存储、传输、诊断、审计事件以及隔离的 RDP/VNC 助手实验。

安全设计:会话配置与密钥材料是分离的。会话存储的是凭证引用,实际秘密仅在原生边界内部被解析,并通过专用原生通道传递给助手进程,永远不会通过命令行参数传递


三、部署步骤

方式一:作为终端用户安装(推荐)

这是最简单的使用方式,无需安装 Rust、Node.js 等开发环境

1. 下载安装包

访问 GitHub Releases 页面,根据你的操作系统下载对应的安装包:

  • Windows: 下载 MobaRust_*_x64.msi 安装包。
  • macOS (Apple Silicon): 下载 MobaRust_*_aarch64.dmg
  • macOS (Intel): 下载 MobaRust_*_x64.dmg
  • Linux (Debian/Ubuntu): 下载 mobarust_*_amd64.deb 包。
  • Linux (通用): 下载 MobaRust_*.AppImage 文件。

注意:当前预览版安装包未经签名,Windows 和 macOS 可能会显示安全提示,这是正常现象。请遵循系统指引(如 macOS 需在“系统偏好设置”中允许运行)完成安装。

2. 安装并启动

  • Windows: 双击 .msi 文件,按向导完成安装,然后从开始菜单启动。
  • macOS: 双击 .dmg 文件,将 MobaRust.app 拖入 Applications 文件夹,然后从启动台打开。
  • Linux: 使用 sudo dpkg -i mobarust_*.deb 安装 .deb 包,或给 .AppImage 文件添加执行权限后直接运行。

方式二:从源码编译(开发者模式)

如果你希望进行开发、调试或自定义构建,可以从源码编译。

1. 环境准备

  • Rust: 稳定版(当前需要 1.88 或更新版本)。
  • Node.jspnpm
  • Tauri 桌面依赖: 根据你的操作系统,安装 Tauri 官方文档 所列的依赖项。

2. 克隆与运行

1
2
3
4
5
6
7
8
9
10
11
12
# 克隆仓库
git clone https://github.com/OthmaneBlial/MobaRust.git
cd MobaRust

# 安装前端依赖
pnpm install --dir apps/desktop

# 运行开发检查
cargo xtask check

# 启动 Tauri 开发应用
cargo tauri dev --manifest-path apps/desktop/src-tauri/Cargo.toml

四、关键配置与验证

4.1 首次连接配置

  1. 创建/导入会话:
    • 点击“Quick Connect”快速连接,或使用“Session Manager”创建保存的配置。
    • 支持从 ~/.ssh/config 导入现有配置。
  2. 认证方式:
    • 支持密码、私钥文件、SSH-agent 等多种认证方式。凭证会安全地通过原生边界处理。
  3. 会话组织:
    • 可以为会话添加文件夹、标签、备注和收藏,方便管理大量主机。

4.2 验证安装与安全路径

项目提供了系列检查命令,用于验证构建和基本功能(不会影响你的个人环境):

1
2
3
4
5
6
7
8
# 运行所有基本检查
cargo xtask check

# 验证打包布局
cargo xtask package-check

# 运行预推送检查(包含测试)
cargo xtask pre-push-check

这些检查使用隔离的测试目录和回环网络,不会访问你的 ~/.ssh、真实主机或生产环境。


五、部署清单

部署方式 步骤 适用场景
终端用户(推荐) 1. 下载对应平台安装包 2. 双击安装(可能需要授权) 3. 从应用程序列表启动 日常使用,无需开发环境
开发者 1. 安装 Rust、Node.js、pnpm 及系统依赖 2. 克隆源码并安装依赖 3. 使用 cargo xtask check 验证 4. 使用 cargo tauri dev 运行 开发、调试、自定义构建

总结

通过本教程,你已成功安装或构建了 MobaRust。作为一个开源的远程工作工具箱,它提供了 SSH、SFTP、终端、隧道等核心功能,并持续增加 RDP、VNC 等新能力。

后续学习建议

  • 浏览项目 文档 了解架构决策和安全模型。
  • 查阅 路线图 (ROADMAP.md) 了解开发计划。
  • 如果遇到问题,可在 GitHub 上提交 Issue,请务必不要包含密码、私钥或真实连接日志。