【免费下载链接】purple
Free, open-source terminal SSH manager and SSH config editor in Rust for macOS and Linux that keeps ~/.ssh/config in sync with 18 cloud providers, monitors live SSH tunnels and manages Docker and Podman containers fleet-wide. Plus scp, Vault SSH certs and an MCP server for AI agents.
还在每次开完云主机后,先登录云控制台复制 IP,再手动编辑~/.ssh/config吗?purple是一款用 Rust 编写的免费开源终端 SSH 管理器和 SSH 配置编辑器,它能让你的 SSH 配置与 AWS、GCP、Azure、Hetzner 等 18 家云厂商自动同步:新机器开机即出现在主机列表里,被销毁的主机会自动变灰标记。macOS 和 Linux 通用,单个二进制文件,MIT 协议开源,无需注册账号、无需后台守护进程。
🤯 手写~/.ssh/config的 3 个典型痛点
如果你管理的服务器超过 50 台,这几个场景一定不陌生:
- IP 漂移:虚拟机重新部署后地址变了,config 里还是旧的,
ssh直接连不上; - 幽灵主机:云上早就销毁的机器,config 里还留着一堆失效条目;
- 多云割裂:AWS、GCP、Hetzner、Proxmox……每台新机器都要去不同控制台抄一次 IP,再手敲一个 Host 块。
purple 的思路是:让~/.ssh/config直接跟着云基础设施走,而不是反过来。
🔌 18 家云厂商,一个 API Token 搞定
在 TUI 里按S打开 Providers 面板,就能看到 purple 支持的完整云厂商列表,以及每家的同步状态、主机数量和过期标记:
完整的 18 家支持列表(来源 llms.txt):
| 类别 | 厂商 |
|---|---|
| 大厂公有云 | AWS EC2、GCP、Azure、Oracle Cloud (OCI) |
| VPS / 裸金属 | DigitalOcean、Vultr、Linode、Hetzner、UpCloud、Scaleway、Leaseweb、OVHcloud、TransIP、i3D.net |
| 自建 / 混合云 | Proxmox VE、NetBox、Tailscale、Teleport |
几个对运维特别友好的细节:
- 同一厂商可配多套账号:比如工作和个人两套 AWS 账号,用
--label prod/--label dev分开,各自独立同步,互不干扰; - AWS 免公网 IP 也能连:开启 Session Manager 后,连没有公网地址的 EC2 实例也能通过
ssm隧道直达; - 主机归属自动追踪:每台同步来的主机都会带上
# purple:provider <厂商>:<id>注释标记,purple 据此知道哪些条目属于哪个云账号。
18 家厂商的注册表定义在 src/providers/mod.rs,每家厂商一个独立模块(如 src/providers/aws.rs、src/providers/hetzner.rs),并有 tests/api_contracts/ 目录存放各家 API 的契约快照,保证接口行为稳定。
🚀 快速上手:3 步完成云厂商同步
第 1 步:安装(macOS / Linux 任选其一)
curl -fsSL getpurple.sh | sh也可以用brew install erickochen/purple/purple、cargo install purple-ssh,Arch 用户可paru -S purple-bin。
第 2 步:启动并添加云厂商
purple在 TUI 里按S打开厂商列表,a添加,填入 Token 即可。等价命令行:
purple provider add digitalocean --token TOKEN purple provider add aws --profile default --regions us-east-1,eu-west-1第 3 步:同步
purple sync # 同步所有厂商 purple sync --dry-run # 先预览变更再落盘多数厂商默认每次启动时自动同步,无需任何手动操作。
🔍 主机列表:一眼看穿整个机群
同步完成后,你的主机列表会长这样——左侧是全部主机(在线/离线状态点 + 标签),右侧详情面板直接给出连接方式、最近活动曲线、隧道和容器信息:
几个让资深用户安心的同步细节:
- 过期主机不硬删:云上消失的主机只会被打上
# purple:stale时间戳注释,在列表中变灰沉底;确认无误后按X才批量清除,下次同步若主机"复活"标记自动消失; - 往返保真(round-trip fidelity):purple 原地读写
~/.ssh/config,你手写的注释、缩进、未知指令、CRLF 换行全部保留,"你写的配置就是你拥有的配置"; - 原子写入 + 自动备份:通过临时文件 +
chmod 600+ rename 写盘,并保留最近 5 份备份; - 部分失败不误伤:同步过程中 API 部分报错时,会抑制 stale 标记,避免把还活着的主机标成过期。
同步结果的完整结构(新增 / 更新 / 移除 / 过期 / 别名重命名)见 src/providers/sync.rs。
🎁 加分项:一个 SSH 管理器该有的都给了
除了云同步,purple 把日常 SSH 工作流全装进同一个终端里:
:一键跳转:类 Raycast 的模糊搜索栏,输入 4 个字母即可跳到任意主机、隧道、容器或命令片段,还能按user:、proxy:、tag:前缀精准过滤;- SSH 隧道实时监控:LocalForward / RemoteForward / SOCKS 全部可视化,实时流量、通道活动、运行时长一览无余,不再是"盲跑"的转发:
- Docker / Podman 全机群管理:所有主机的容器按机器分组列出,进 shell、看日志、重启 compose 栈,全程只走 SSH,远端无需装任何 agent;
- 命令片段(Snippets):一条命令存一次,批量分发到一组主机执行,执行前先看"影响范围";
- SSH 密钥看板:
~/.ssh下所有密钥的强度评分、randomart 指纹、最近使用时间,按p一键推送给全机群(Vault 托管主机自动跳过); - MCP Server:
purple mcp即可把主机列表、执行命令、容器操作暴露给 Claude Code 等 AI 代理,带只读模式和 JSON Lines 审计日志。
🎯 谁适合用 purple?
✅适合:管理 50~500 台、跨多家云厂商的 SRE / DevOps 工程师;自建站 Homelab 玩家;团队新成员入职时,直接共享带云同步的 SSH 配置即可;
❌不适合:需要 Windows 原生支持(WSL 可用)、需要 Ansible/Terraform 级别的配置管理、或偏好图形界面客户端(Termius 等)的用户。
一句话总结:purple 把~/.ssh/config从"手工作品"升级成"活的资产清单"——云上是事实源,config 只是它的投影。单个二进制、6700+ 测试、MIT 协议,clone 下来读 src/ 源码也很轻松。
延伸阅读:README.md · llms.txt(全量能力与搜索场景清单) · src/ssh_config/(配置解析与保真写入实现)
【免费下载链接】purple
Free, open-source terminal SSH manager and SSH config editor in Rust for macOS and Linux that keeps ~/.ssh/config in sync with 18 cloud providers, monitors live SSH tunnels and manages Docker and Podman containers fleet-wide. Plus scp, Vault SSH certs and an MCP server for AI agents.
相关推荐
wezterm.enumerate_ssh_hosts:让 wezterm 自动识别 ~/.ssh/config 并生成 SSH 域
wezterm.enumerate_ssh_hosts:让 wezterm 自动识别 ~/.ssh/config 并生成 SSH 域 导读 wezterm.en
桌面应用跨平台告别手写SSH配置:RackPeek的SSH Config与Hosts文件导出快速教程,ssh主机名直接上线
告别手写SSH配置:RackPeek的SSH Config与Hosts文件导出快速教程,ssh主机名直接上线 RackPeek 是一款命令行基础设施管理工具,能
别再往服务器里塞一坨 authorized_keys 了!这个开源工具把 SSH 权限管到了“分钟级”
别再往服务器里塞一坨 authorized_keys 了!这个开源工具把 SSH 权限管到了“分钟级” 先说一个很多运维、后端同学都经历过的名场面。 公司二十几
密钥管理后端身份认证认证鉴权应用安全密码学CLI高可用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考