终端里的 SSH 管理神器!SSHM 让你告别繁琐配置,一键连接所有服务器

Posted by Mike on 2025-09-08

作为一名 IT 从业者,你是否经常被各种 SSH 连接搞得头疼?

记密码、记 IP、记端口号… 每次连接服务器都要翻找配置文件,敲一长串命令。更别提管理几十台服务器时的痛苦了!

今天要介绍的这个开源项目,将彻底改变你管理 SSH 连接的方式。

什么是 SSHM?

SSHM 是一个美观的命令行工具,它彻底改变了你管理和连接 SSH 主机的方式。基于 Go 构建,具有直观的 TUI 界面,让 SSH 连接管理变得轻松愉快。

简单来说,SSHM 就是一个终端版的 SSH 连接管理器。它通过漂亮的文本界面(TUI),让你可以像使用图形软件一样管理 SSH 连接。

项目地址:https://github.com/Gu1llaum-3/sshm

为什么选择 SSHM?

🎨 颜值即正义的界面

传统的 SSH 管理方式就是在 ~/.ssh/config 文件里写配置,然后用命令行连接。枯燥、易错、效率低。

SSHM 提供了一个精美的终端界面。你可以通过方向键浏览所有服务器,按回车键直接连接。就像在手机上选择联系人一样简单。

⚡ 闪电般的连接速度

不需要记忆复杂的命令和参数,一键连接任何主机。支持快速搜索和过滤,即使管理上百台服务器也能瞬间找到目标。

🏷️ 智能标签管理

可以为服务器添加自定义标签,比如「生产环境」「开发环境」「数据库」等。通过标签快速筛选,再也不会连错服务器。

🔒 安全性保障

SSHM 直接使用你现有的 ~/.ssh/config 文件,不会破坏任何现有配置。所有的安全设置都保持不变,只是让管理更方便。

核心功能详解

主要特性

SSHM 提供了丰富的功能来简化 SSH 管理:

界面操作

  • 美观的 TUI 界面,支持键盘快捷键导航
  • 智能搜索和过滤功能
  • 支持按名称和最近使用时间排序

配置管理

  • 添加、编辑、删除 SSH 配置
  • 自动备份配置文件
  • 配置验证,防止错误设置

高级特性

  • ProxyJump 支持,用于堡垒机连接
  • 完整的 SSH 选项支持
  • 自动格式转换(命令行 ⇄ 配置文件格式)

操作界面

启动 SSHM 后,你会看到一个清晰的主机列表。界面操作非常直观:

  • ↑/↓j/k:浏览主机列表
  • Enter:连接到选定的主机
  • a:添加新主机
  • e:编辑选定主机
  • d:删除选定主机
  • /:搜索和过滤主机
  • s:切换排序方式
  • q:退出程序

配置文件兼容性

SSHM 的一个重要优势是与标准 SSH 配置完全兼容。它会在你的 ~/.ssh/config 文件中添加特殊的注释标签来支持扩展功能,同时保持与原生 SSH 工具的兼容性。

配置示例:

1
2
3
4
5
6
7
8
# Tags: production, web, frontend
Host web-prod-01
HostName 192.168.1.10
User deploy
Port 22
IdentityFile ~/.ssh/production_key
Compression yes
ServerAliveInterval 60

安装指南

一键安装(推荐)

Unix/Linux/macOS

1
curl -sSL https://raw.githubusercontent.com/Gu1llaum-3/sshm/main/install/unix.sh | bash

Windows (PowerShell)

1
irm https://raw.githubusercontent.com/Gu1llaum-3/sshm/main/install/windows.ps1 | iex

手动安装

如果你更喜欢手动安装,可以从 GitHub Releases 页面下载对应平台的二进制文件:

Linux

1
2
3
wget https://github.com/Gu1llaum-3/sshm/releases/latest/download/sshm-linux-amd64.tar.gz
tar -xzf sshm-linux-amd64.tar.gz
sudo mv sshm-linux-amd64 /usr/local/bin/sshm

macOS

1
2
3
wget https://github.com/Gu1llaum-3/sshm/releases/latest/download/sshm-darwin-amd64.tar.gz
tar -xzf sshm-darwin-amd64.tar.gz
sudo mv sshm-darwin-amd64 /usr/local/bin/sshm

Windows

下载 zip 文件后解压到 C:\tools\ 目录,并将该路径添加到系统 PATH 环境变量。

快速上手教程

启动 SSHM

安装完成后,在终端输入:

1
sshm

第一次运行时,SSHM 会读取你现有的 ~/.ssh/config 文件(如果存在的话)。如果没有配置文件,你会看到一个空的主机列表。

添加第一个主机

a 键打开添加主机表单。SSHM 会引导你填写以下信息:

  • 主机名/IP:服务器地址(必填)
  • 用户名:SSH 登录用户名
  • 端口:SSH 端口(默认 22)
  • 密钥文件:私钥路径(如 ~/.ssh/id_rsa
  • 代理跳板:如果需要通过堡垒机连接
  • SSH 选项:额外的 SSH 参数
  • 标签:用逗号分隔的标签

例如,添加一个生产环境的 Web 服务器:

  • 主机名:192.168.1.100
  • 用户名:deploy
  • 端口:22
  • 标签:production, web

连接到主机

添加主机后,你会在列表中看到新添加的条目。使用方向键选择主机,按 Enter 键即可连接。

SSHM 会自动使用正确的 SSH 命令和参数,就像你手动输入 ssh deploy@192.168.1.100 一样。

编辑和管理主机

  • 编辑主机:选择主机后按 e
  • 删除主机:选择主机后按 d 键(会有确认提示)
  • 搜索主机:按 / 键,然后输入关键词
  • 排序:按 s 键在不同排序方式间切换

高级使用技巧

使用自定义配置文件

默认情况下,SSHM 使用 ~/.ssh/config。如果你有多个配置文件,可以使用 -c 参数:

1
sshm -c /path/to/custom/ssh_config

命令行操作

除了 TUI 界面,SSHM 也支持命令行操作:

1
2
3
4
5
6
7
8
9
10
11
# 添加主机
sshm add hostname

# 编辑主机
sshm edit my-server

# 查看版本
sshm --version

# 查看帮助
sshm --help

ProxyJump 配置

对于需要通过堡垒机连接的服务器,SSHM 完美支持 ProxyJump。在添加主机时,在「代理跳板」字段填入:

1
user@jumphost:port

例如:admin@bastion.company.com:22

SSH 选项管理

SSHM 支持所有标准 SSH 选项。在「SSH 选项」字段中,你可以添加任何有效的 SSH 参数:

1
-o Compression=yes -o ServerAliveInterval=60 -o StrictHostKeyChecking=no

SSHM 会自动将这些选项转换为配置文件格式。

跨平台支持

SSHM 支持主流操作系统:

  • Linux:支持 AMD64 和 ARM64 架构
  • macOS:支持 Intel 和 Apple Silicon 芯片
  • Windows:需要安装 OpenSSH 客户端(Windows 10/11 内置)

在 Windows 上,配置文件位于 %USERPROFILE%\.ssh\config,与 WSL 的 SSH 配置完全兼容。

技术架构

SSHM 使用现代的 Go 技术栈构建:

  • Cobra:命令行框架,提供优雅的 CLI 接口
  • Bubble Tea:TUI 框架,负责终端界面渲染
  • Bubbles:TUI 组件库,提供表格、表单等组件
  • Lipgloss:样式库,让界面更加美观

项目结构清晰,代码质量高,易于维护和扩展。

与类似工具对比

市面上有不少 SSH 管理工具,SSHM 的优势在于:

相比传统命令行

  • 可视化界面,操作直观
  • 不需要记忆复杂命令
  • 支持搜索和过滤

相比图形化工具

  • 轻量级,启动快速
  • 在服务器环境下也能使用
  • 完全兼容标准 SSH 配置

相比其他 TUI 工具

  • 界面更精美,用户体验好
  • 功能更完整,支持所有 SSH 选项
  • 活跃开发,持续更新

社区和生态

SSHM 是一个年轻但充满活力的开源项目。项目在 GitHub 上获得了不错的关注度,代码质量高,文档完善。

作者 Guillaume 对项目非常用心,经常回复社区反馈,修复 bug 和添加新功能。项目采用 MIT 许可证,对商业和个人使用都很友好。

未来发展方向

虽然 SSHM 已经很实用,但仍有改进空间:

  • 配置同步功能
  • 更丰富的主题选择
  • 插件系统支持
  • 批量操作功能
  • 更多的过滤和排序选项

总结

SSHM 是一个优秀的 SSH 管理工具,它完美平衡了功能性和易用性。

无论你是管理几台开发服务器的程序员,还是要维护数百台生产服务器的运维工程师,SSHM 都能显著提升你的工作效率。

最重要的是,它完全免费开源,不会绑定你的数据,让你保持完全的控制权。

如果你厌倦了传统的 SSH 管理方式,不妨试试 SSHM。相信我,一旦用上就再也回不去了!

赶快去试试吧,你会爱上这种全新的 SSH 管理体验!