大家好,我是何三,独立开发者

Termius 又涨价了。Pro 版 $8.99/月,一年就是 $108。

关键是,这钱花得有点憋屈。Termius 本质上就是个 SSH 管理器,带个仪表盘和文件浏览器,技术上没什么黑魔法。但人家 GUI 做得漂亮,用户愿意买单。

直到我看到了 OmnySSH。

一个纯 Rust 写的 TUI SSH 管理器,单静态二进制,零依赖。免费开源。

功能上居然和 Termius 几乎一样:实时服务器监控、可视化文件管理、命令片段、多会话终端。

但它在终端里跑,启动快 3-5 倍。而且,不要钱。

OmnySSH 封面

1. 为什么需要 SSH 管理器?

如果你只管理一两台服务器,ssh user@host 就够了。

但像我这种独立开发者,手上有十几二十台服务器(生产、测试、数据库、缓存、备份、基本都是客户的...),每天光开终端标签就够呛。

传统工作流程: 1. 开 10 个终端标签,分别 SSH 到不同服务器 2. 在每个标签里跑 top 看 CPU,跑 df -h 看磁盘 3. 发现某台服务器磁盘快满了,用 scp 传文件 4. 部署时,在每个服务器上粘贴相同的命令

重复,枯燥,容易出错。

OmnySSH 把这一切都整合到了一个 TUI 界面里。

2. 核心功能:终端里的服务器仪表盘

OmnySSH 功能展示

📊 实时监控仪表盘

所有服务器的 CPU、内存、磁盘使用率一目了然。颜色编码阈值(绿→黄→红),一眼就能看出哪台服务器有问题。

仪表盘

不用 SSH 进去跑 top 了。

📁 可视化文件管理器

双面板 SFTP 浏览器,左边本地,右边远程。拖拽就能传文件,带进度条。

告别 scp -r local/ user@host:/remote/ 这种复杂语法。

⚡ 命令片段

保存常用的部署、重启、清理命令。一键执行,支持广播到多台服务器。

比如我有个 deploy-web 片段,保存的是 cd /opt/app && git pull && docker compose up -d。按个快捷键,所有 Web 服务器同时更新。

🖥️ 多会话终端

内置 PTY 标签页和分屏视图。同时操作多个服务器,不用离开应用。

支持 vimhtoptmux,所有终端工具都能正常用。

3. 技术实现:纯 Rust 的暴力美学

OmnySSH 安装与使用

OmnySSH 用 Rust 重写了整个 SSH 工具链:

  • ratatui:TUI 框架,终端里的 GUI
  • russh:纯 Rust 实现的 SSH 客户端/服务器库,无 OpenSSH 依赖
  • tokio:异步运行时,处理并发连接
  • portable-pty:跨平台终端模拟

结果就是:单静态二进制,Linux/macOS/Windows 全平台,零运行时依赖。

安装简单到离谱:

# 一键安装(Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/timhartmann7/omnyssh/main/install.sh | sh

# 或者用 Homebrew
brew install timhartmann7/tap/omnyssh

# Rust 开发者
cargo install omnyssh

装完直接 omny 启动。

4. 上手体验:比 Termius 快,还免费

我试了一下,启动速度确实快。Termius 是 Electron 应用,启动要 2-3 秒。OmnySSH 在终端里,秒开。

功能上,Termius 有的它基本都有。Termius 没有的(比如纯终端运行),它反而有优势。

配置文件也很简单,TOML 格式:

# ~/.config/omnyssh/config.toml
[general]
refresh_interval = 30  # 监控刷新间隔(秒)
default_shell = "/bin/bash"

[ui]
theme = "dracula"  # default / dracula / nord / gruvbox
show_ip = true
show_uptime = true

[[hosts]]
name = "web-prod-1"
hostname = "192.168.1.10"
user = "deploy"
tags = ["production", "web"]

[[hosts]]
name = "db-master" 
hostname = "10.0.0.50"
user = "admin"
port = 2222
tags = ["production", "database"]

支持 4 种主题,我用的 Dracula,配色舒服。

5. 为什么现在才出现?

其实 TUI 工具最近两年在 Rust 生态里爆发了。ratatui 这个框架成熟了,russh 也稳定了,才有了 OmnySSH 这种“终端里的 GUI 工具”。

作者说是因为自己管理 20 多台服务器,被 Termius 的价格和性能逼疯了,才写了这个。

6. 局限性

毕竟是新项目(刚发布 v1.0.0),有些功能还在完善:

  1. 移动端不支持:Termius 有 iOS/Android 客户端,OmnySSH 只能在电脑上用
  2. 团队协作:Termius 有团队共享功能,OmnySSH 目前是个人工具
  3. 高级功能:像 SSH 隧道转发、端口映射这些,还没完全实现

但对我这种独立开发者来说,完全够用了。

7. 同类工具

如果你对终端工具感兴趣,下面同样推荐工具:

  1. zellij:终端多路复用器,比 tmux 更现代化
  2. bottom:系统监控工具,比 htop 更直观
  3. bat:代码查看器,带语法高亮和 Git 集成
  4. fd:文件搜索,比 find 快 10 倍
  5. ripgrep:代码搜索,grep 的替代品

8. 总结

Termius 是个好工具,但 $108/年的价格,对于个人开发者来说太贵了。

OmnySSH 用 Rust 实现了 90% 的核心功能,免费开源,启动更快。虽然缺少一些高级特性,但对于日常服务器管理完全够用。

如果你是独立开发者、运维工程师,或者只是厌倦了开一堆终端标签,可以试试。

项目地址:https://github.com/timhartmann7/omnyssh

本文使用 MGO 编辑并发布

关注“何三笔记”,回复“mgo” 免费下载使用