MCPcopy Index your code
hub / github.com/baerwang/ssh-at

github.com/baerwang/ssh-at @v0.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.1 ↗ · + Follow
236 symbols 560 edges 39 files 39 documented · 17% updated 6d agov0.1.1 · 2026-07-02★ 105
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SSH-AT

English

概述

SSH-AT 是一个 SSH 密钥、主机和配置管理的桌面工具。生成密钥、可视化编辑 ~/.ssh/config、自动备份——都在一个应用里。

基于 Tauri 2、React 和 Rust 构建的跨平台原生应用。

功能特性

  • 📝 SSH 配置管理
  • ~/.ssh/config 可视化编辑器
  • 添加、编辑、删除和搜索 SSH 主机
  • Monaco Editor 实时语法高亮
  • 每次保存前自动备份

  • 🔑 SSH 密钥管理

  • 生成 SSH 密钥(RSA、Ed25519、ECDSA)
  • 查看密钥指纹
  • 一键复制公钥到剪贴板
  • 带确认的密钥删除

  • 💾 备份与恢复

  • 自动时间戳备份
  • 浏览和恢复历史配置
  • 删除旧备份

  • 🌍 多语言支持

  • 英文 / 中文
  • 自动检测系统语言

  • 🎨 现代化界面

  • Material Design(MUI)
  • 明暗主题切换
  • 系统托盘集成(最小化到托盘,不退出)
  • macOS Dock 图标在最小化时自动隐藏

界面截图

主机管理

主机管理

SSH 密钥

SSH 密钥

配置编辑器

配置编辑器

备份管理

备份管理

设置

设置

技术栈

前端: - React 19 + TypeScript - Material-UI (MUI) - Monaco Editor - React Router - React Query - i18next

后端: - Rust - Tauri 2 - Tokio(异步运行时) - 自定义 SSH 配置解析器

构建: - Vite - pnpm

安装

下载预编译版本

前往 Releases 下载:

  • macOS.dmg(Intel 和 Apple Silicon 通用二进制)
  • Windows.msi
  • Linux.AppImage.deb

从源码构建

前置要求: - Node.js 20+ - pnpm 8+ - Rust 1.70+ - 平台特定依赖: - macOS:Xcode 命令行工具、create-dmgbrew install create-dmg) - Linuxlibgtk-3-dev libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev patchelf - Windows:WebView2(Windows 10+ 通常预装)

构建步骤:

# 克隆仓库
git clone https://github.com/baerwang/ssh-at.git
cd ssh-at

# 安装依赖
pnpm install

# 开发模式
pnpm tauri dev

# 生产构建
pnpm tauri build

构建产物: - macOS:src-tauri/target/release/bundle/macos/SSH-AT.app.dmg - Windows:src-tauri/target/release/bundle/msi/*.msi - Linux:src-tauri/target/release/bundle/appimage/*.AppImage.deb

使用方法

  1. 启动应用
  2. macOS:将 SSH-AT.app 拖到 /Applications 并启动
  3. Windows:运行 .msi 安装程序
  4. Linux:将 .AppImage 设为可执行并运行,或安装 .deb

  5. 管理 SSH 主机

  6. 进入 主机 (Hosts) 标签
  7. 点击 + 添加新主机
  8. 内联编辑或使用 配置编辑器 进行原始编辑

  9. 生成 SSH 密钥

  10. 进入 密钥 (Keys) 标签
  11. 点击 生成密钥
  12. 选择算法(推荐 Ed25519)、名称、密码短语
  13. 密钥保存到 ~/.ssh-at/creds/

  14. 备份

  15. 访问 备份 (Backups) 标签查看所有自动备份
  16. 根据需要恢复或删除

  17. 设置

  18. 切换主题(明/暗)
  19. 切换语言(英文/中文)
  20. 打开配置目录

许可证

Apache 2.0

Extension points exported contracts — how you extend this code

GenerateKeyDialogProps (Interface)
(no doc)
src/components/GenerateKeyDialog.tsx
HostEntry (Interface)
(no doc)
src/api/tauri.ts
ThemeContextType (Interface)
(no doc)
src/contexts/ThemeContext.tsx
HostDialogProps (Interface)
(no doc)
src/components/HostDialog.tsx
SshConfig (Interface)
(no doc)
src/api/tauri.ts
ThemeContextProviderProps (Interface)
(no doc)
src/contexts/ThemeContext.tsx
TabPanelProps (Interface)
(no doc)
src/components/HostDialog.tsx
KeyInfo (Interface)
(no doc)
src/api/tauri.ts

Core symbols most depended-on inside this repo

handleChange
called by 18
src/components/HostDialog.tsx
parse_ssh_config
called by 16
crates/ssh-at-core/src/config/parser.rs
save_config_to_path
called by 14
crates/ssh-at-core/src/config/crud.rs
load_config_from_path
called by 9
crates/ssh-at-core/src/config/crud.rs
serialize_ssh_config
called by 9
crates/ssh-at-core/src/config/crud.rs
create_backup_with_limit_impl
called by 8
crates/ssh-at-storage/src/backup.rs
list_backups_impl
called by 8
crates/ssh-at-storage/src/backup.rs
setup_test_env
called by 8
crates/ssh-at-storage/src/backup.rs

Shape

Function 209
Interface 10
Class 9
Method 6
Enum 2

Languages

Rust72%
TypeScript28%

Modules by API surface

crates/ssh-at-core/src/config/crud.rs35 symbols
crates/ssh-at-core/src/keys/scanner.rs31 symbols
src/api/tauri.ts24 symbols
crates/ssh-at-storage/src/backup.rs23 symbols
crates/ssh-at-core/src/config/parser.rs17 symbols
src-tauri/src/commands/config.rs16 symbols
crates/ssh-at-core/src/keys/generator.rs10 symbols
src/components/HostDialog.tsx9 symbols
src/contexts/ThemeContext.tsx6 symbols
crates/ssh-at-core/src/config/mod.rs6 symbols
src/pages/KeysPage.tsx5 symbols
src/pages/HostsPage.tsx5 symbols

For agents

$ claude mcp add ssh-at \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page