Termius 中文文档 下载 App

Termius SSH 密钥管理最佳实践 | 生成、保护、轮换、硬件密钥

密钥安全的核心原则

SSH 密钥是进入服务器的钥匙。和密码不同,密钥一旦泄露,攻击者可以直接绕过密码认证。所以密钥安全的核心原则很简单:

  1. 私钥不能泄露——它是打开服务器的钥匙
  2. 公钥可以公开——它是服务器门上的锁
  3. 有备份但不滥用——密钥存密码管理器或 Keychain,别散在各个设备上

生成密钥对

算法选择

算法推荐说明
Ed25519✅ 首选更短、更快、抗侧信道攻击,OpenSSH 7.4+ 支持
RSA 4096⚠️ 备选兼容性最好,但密钥更长(4096 位 vs Ed25519 的 256 位),速度更慢
ECDSA❌ 不推荐P-256 有侧信道攻击风险,P-384 / P-521 也没优势
DSA❌ 淘汰不安全,早就被淘汰了

优先用 Ed25519,除非目标服务器不支持(极少数情况)。

Termius 内置生成

左侧导航 → Keys → New Keychain Identity:

  1. 选 Ed25519
  2. 输入密钥名称(建议:姓名-设备-用途,比如 zhangsan-work-laptop-prod)
  3. 输入 passphrase(必须设!)
  4. 点击 Generate → 密钥对生成

命令行生成

# Ed25519
ssh-keygen -t ed25519 -C "zhangsan@termius-work-laptop" -f ~/.ssh/id_ed25519

# RSA 4096(兼容老旧服务器)
ssh-keygen -t rsa -b 4096 -C "zhangsan@termius-work-laptop" -f ~/.ssh/id_rsa

-C 字段是注释,用来识别密钥是谁、在哪台设备生成的。-f 指定密钥文件路径。

生成了什么

~/.ssh/
├── id_ed25519       # 私钥(⚠️ 不能泄露)
└── id_ed25519.pub   # 公钥(可以放到服务器上)

设置 passphrase(密钥密码)

强烈建议给每个私钥都设 passphrase。 原因:

Termius 里 passphrase 处理:

把公钥部署到服务器

方式一:ssh-copy-id(最简单)

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server.example.com

一条命令搞定:自动连服务器 → 创建 ~/.ssh → 把公钥追加到 authorized_keys → 设置正确权限。

方式二:手动

# 1. 手动把公钥内容追加到服务器的 authorized_keys
cat ~/.ssh/id_ed25519.pub
# 复制输出内容

# 2. SSH 到服务器
ssh user@server.example.com

# 3. 创建目录和文件
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "ssh-ed25519 AAAA... zhangsan@termius-work-laptop" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

方式三:Termius 一键部署

Termius Keys 管理界面里,选中一个密钥 → 右键 → Deploy → 指定目标主机,Termius 会自动用 SSH 连接把公钥部署上去。

密钥导入到 Termius

生成密钥对后,需要把私钥导入 Termius:

  1. 左侧导航 → Keys → Import / Add
  2. 指定私钥文件路径(比如 ~/.ssh/id_ed25519)
  3. 如果有 passphrase,输入验证
  4. 选择存到哪个 Vault(Personal Vault 或 Team Vault)

导入后:

密钥轮换

定期轮换密钥(建议每半年或一年)是安全好习惯。Termius 可以帮你管理这个流程:

  1. 生成新密钥对(名称里加轮换日期,比如 zhangsan-2026-10)
  2. 部署新公钥到所有服务器(可以在 Termius 里批量操作)
  3. 确认新密钥能正常连接每台服务器
  4. 编辑主机配置,切换到新密钥
  5. 服务器上删除旧公钥(~/.ssh/authorized_keys 里找到旧的那行删掉)
  6. 本地删除旧私钥(或保留备份在密码管理器里)

Termius 的优势:密钥跟着 Vault 走,编辑主机配置里的密钥引用后,所有设备同步生效——不需要每台设备手动改。

密钥备份

私钥文件要定期备份:

备份的是带 passphrase 的加密私钥——即使备份泄露了,没有 passphrase 也用不了。

多密钥管理

一个工程师通常会有多组密钥:

密钥用途部署范围
name-prod生产环境服务器少量核心服务器
name-stagingStaging 环境较多服务器
name-githubGitHub Git 操作GitHub 仓库
name-personal个人服务器仅自己的几台 VPS

在 Termius 里:

硬件密钥替代传统密钥

如果安全要求更高,直接用 FIDO2 硬件密钥(YubiKey)替代传统 Ed25519 密钥:

硬件密钥适合生产环境、关键基础设施、合规审计场景。

密钥安全自检清单

检查项完成状态
所有密钥都用 Ed25519 或 RSA 4096✅
所有私钥都设了 passphrase✅
公钥已部署到所有目标服务器✅
主机配置正确引用了对应密钥✅
密钥备份存在密码管理器✅
旧密钥已从服务器删除✅
密钥至少半年轮换一次✅

继续「密码和加密密码管理」。