Gu1llaum-3/sshm
一款终端 TUI 工具,用于浏览、连接和管理 ~/.ssh/config 中的 SSH 主机。
- Star
- 1,413
- Fork
- 79
- 未关闭 Issue
- 25
- 最近提交
- 16天前
这是什么?
SSHM 是一款用 Go 编写的命令行 SSH 管理工具。它直接读取并编辑现有的 ~/.ssh/config 文件,在交互式终端列表中展示主机,支持按名称、主机名或标签搜索,并可一键连接。也可以通过 sshm <host> 直接在 shell 中连接,或在远程主机上执行命令。
除了连接,SSHM 还支持主机维护:通过引导式表单添加、编辑和删除配置,在 Include 引入的多个配置文件之间移动主机,并以彩色状态指示器检测主机的 SSH 可达性。界面中可以配置本地、远程和动态(SOCKS)端口转发,常用的转发设置会被保存以便复用。连接历史会被记录,列表可按最近登录时间排序。
SSHM 直接兼容标准 OpenSSH 配置,支持 Include 指令,并可通过 -c 指定自定义配置文件;修改文件前会自动备份。它以单个二进制文件发布,支持 Linux、macOS 和 Windows。
核心功能
- 01交互式 TUI,可搜索、浏览并连接 SSH 主机
- 02通过 sshm <host> 直接连接或在远程执行命令
- 03支持本地、远程和动态(SOCKS)端口转发,并保存转发历史
- 04添加、编辑、移动和删除主机配置,同时保持 ~/.ssh/config 结构
- 05后台检测 SSH 连通性并以状态指示器显示
- 06修改配置前自动备份
适用场景
- 管理分散在多个 SSH 配置 Include 文件中的大量服务器
- 快速建立数据库隧道或 SOCKS 代理以访问内网服务
- 在执行运维操作前检查哪些服务器当前可达
- 在脚本或 shell 中对生产主机执行单次命令
快速上手
- 1
通过 Homebrew 安装(macOS)
brew install Gu1llaum-3/sshm/sshm - 2
或使用 Unix/Linux/macOS 一键安装脚本
按 README 中的官方说明安装 - 3
启动交互式 TUI 界面
sshm
使用前须知
- 需要 ~/.ssh/config 文件,因此只能管理已在其中定义或通过它添加的主机。
- 移动主机到其他配置文件的功能需要先在配置中设置 SSH Include 指令。
标签
常见问题
- sshm 是什么?
- 一款终端 TUI 工具,用于浏览、连接和管理 ~/.ssh/config 中的 SSH 主机。 SSHM 是一款用 Go 编写的命令行 SSH 管理工具。它直接读取并编辑现有的 ~/.ssh/config 文件,在交互式终端列表中展示主机,支持按名称、主机名或标签搜索,并可一键连接。也可以通过 sshm <host> 直接在 shell 中连接,或在远程主机上执行命令。
- sshm 可以免费使用吗?用的什么许可证?
- sshm 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- sshm 还在维护吗?
- 活跃维护中。sshm 最近一次提交是在 2026年10月4日。
- sshm 适合用来做什么?
- 管理分散在多个 SSH 配置 Include 文件中的大量服务器 快速建立数据库隧道或 SOCKS 代理以访问内网服务 在执行运维操作前检查哪些服务器当前可达 在脚本或 shell 中对生产主机执行单次命令
- sshm 怎么安装和运行?
- 通过 Homebrew 安装(macOS): brew install Gu1llaum-3/sshm/sshm 或使用 Unix/Linux/macOS 一键安装脚本 启动交互式 TUI 界面: sshm
- 在哪里获取 sshm?
- 源代码和安装说明在 GitHub 上:https://github.com/Gu1llaum-3/sshm
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
面向 rsync 的终端界面,可保存可复用的同步配置,先预览差异再执行,并显示实时进度,支持 SSH。
92531RustMIT更新于 2个月前
用 Go 编写的键盘驱动终端下载管理器,支持分块并行下载与多镜像下载。
3596155GoMIT更新于 3天前
用 Go 编写的终端屏保,shell 空闲时自动启动,提供星座、代码雨、粒子等动画场景。
77120GoMIT更新于 4天前