ByteNoteByteNote

字节笔记本

2026年2月20日

SSHVault:macOS 原生 SSH 连接管理器

本文介绍 SSHVault,一款使用 SwiftUI 构建的原生 macOS SSH 连接管理器。它提供可视化的 SSH 配置编辑器,支持主机分组、SSH 密钥管理和多种终端集成。

项目简介

SSHVault 是一款专为 macOS 设计的 SSH 连接管理工具,使用 SwiftUI 构建。它可以直接读取和写入 ~/.ssh/config 文件,让你通过简洁美观的界面管理 SSH 主机、组织分组、生成密钥,并使用喜欢的终端进行连接。

核心特性

主机管理

  • 可视化 SSH 配置编辑器 — 直接读写 ~/.ssh/config 文件
  • 主机磁贴 — 响应式三列网格布局,支持悬停交互
  • 自定义显示名称 — 设置与 SSH 别名分离的友好标签
  • 自定义图标 — 为每个主机分配 SF Symbol 图标
  • 双击连接 — 在首选终端中启动 SSH 连接
  • 拖拽分组 — 将主机组织到命名分组中
  • SFTP 支持 — 从右键菜单在系统文件管理器中打开 SFTP
  • 导入/导出 — 分享或备份 SSH 配置
  • Termius 链接导入 — 从 ssh:// 链接导入主机
  • 自动备份 — 每次保存前创建 ~/.ssh/config.bak

隐私保护

  • IP 掩码切换 — 在主机磁贴上隐藏 IP 地址/主机名,显示为 ***.***.***.***

SSH 密钥管理

  • 密钥发现 — 扫描 ~/.ssh/ 目录并显示所有密钥对及指纹
  • 密钥生成 — 创建 Ed25519、RSA (4096-bit) 或 ECDSA 密钥
  • 复制公钥 — 一键复制到剪贴板
  • 部署密钥 — 从主机右键菜单集成 ssh-copy-id

终端集成

  • 可配置终端 — 支持 Terminal.app、iTerm2、Tabby、Alacritty、Kitty、Hyper、WezTerm
  • 自定义 SSH 命令 — 添加额外参数(如 -v-A
  • 连接前脚本 — 在建立 SSH 连接前运行自定义命令

主题与界面

  • 12 种内置主题 — 包括 Midnight、Ocean、Forest、Sunset 等
  • 紧凑/舒适模式 — 调整磁贴密度
  • 动态工具栏 — 根据选择状态变化
  • 原生 SwiftUI — 流畅的动画和原生 macOS 行为

技术栈

  • Swift 5.9 — 主要开发语言
  • SwiftUI — UI 框架
  • macOS 13+ — 支持的操作系统版本

安装指南

系统要求

  • macOS 13.0 或更高版本
  • 已配置的 ~/.ssh/config 文件(可选,应用会自动创建)

安装方式

方式一:下载 DMG

GitHub Releases 下载最新版本的 SSHVault.dmg。

方式二:编译安装

bash
# 克隆仓库
git clone https://github.com/LZDevs/SSHVault.git
cd SSHVault

# 使用 Xcode 打开并编译
open SSHVault.xcodeproj

使用指南

首次启动

  1. 打开 SSHVault,它会自动读取现有的 ~/.ssh/config
  2. 主机将以磁贴形式显示在主界面
  3. 双击任意主机即可连接

添加新主机

  1. 点击工具栏的 + 按钮
  2. 填写主机信息(主机名、用户名、端口等)
  3. 可选:分配图标、设置显示名称、选择分组
  4. 点击保存

创建分组

  1. 在侧边栏右键点击空白处
  2. 选择 New Group
  3. 输入分组名称
  4. 拖拽主机到分组中

生成 SSH 密钥

  1. 切换到 Keys 标签页
  2. 点击 Generate Key 按钮
  3. 选择密钥类型(Ed25519/RSA/ECDSA)
  4. 设置密钥名称和密码(可选)
  5. 点击生成

部署密钥到服务器

  1. 在主机磁贴上右键点击
  2. 选择 Deploy Key
  3. 选择要部署的密钥
  4. 输入服务器密码完成部署

项目链接

总结

SSHVault 是 macOS 平台上一款优秀的 SSH 连接管理工具,它结合了原生 SwiftUI 的流畅体验和实用的功能特性。对于经常需要管理多台服务器的开发者来说,SSHVault 提供了比传统终端更直观、更高效的管理方式。其开源特性也允许开发者根据自身需求进行定制和扩展。

分享: