☰
别再手写~/.ssh/config了:免费开源SSH管理器purple如何与18家云厂商自动同步
2026/10/29 3:49:48 网站建设 项目流程

【免费下载链接】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.

项目地址:https://gitcode.com/gh_mirrors/purple2/purple
点击查看免费下载

还在每次开完云主机后,先登录云控制台复制 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.

项目地址:https://gitcode.com/gh_mirrors/purple2/purple
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询