SSH 密钥管理
安全管理多个 SSH 密钥
SSH 密钥管理
AckShell 提供安全的 SSH 密钥管理功能,所有私钥都通过操作系统密钥链加密存储,绝不上传到云端。
密钥存储安全
| 平台 | 存储方式 |
|---|---|
| macOS | Keychain Services(系统密钥链) |
| Windows | DPAPI(数据保护 API) |
| Linux | libsecret / GNOME Keyring |
生成新密钥
推荐使用 Ed25519 算法(比 RSA 更安全、更快):
# 生成 Ed25519 密钥
ssh-keygen -t ed25519 -C "your@email.com"
# 生成 RSA 4096 密钥(兼容性更好)
ssh-keygen -t rsa -b 4096 -C "your@email.com"
也可以在 AckShell 内置密钥生成器中完成:密钥管理 → 生成新密钥。
导入现有密钥
- 打开 密钥管理
- 点击 导入密钥
- 选择私钥文件(
.pem、.ppk等格式均支持) - 如有密码保护,输入密钥密码
- AckShell 会将密钥安全存储在系统密钥链中
将公钥部署到服务器
# 方式一:使用 ssh-copy-id
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server
# 方式二:手动追加
cat ~/.ssh/id_ed25519.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
或在 AckShell 中:选中连接 → 部署公钥 → 输入密码确认。
密钥轮换
定期轮换 SSH 密钥是安全最佳实践:
- 生成新密钥对
- 将新公钥部署到所有服务器
- 在 AckShell 中更新连接配置
- 从服务器删除旧公钥
- 删除旧私钥
常见问题
Q:忘记密钥密码怎么办?
A:无法直接恢复,需要生成新密钥并重新部署到所有服务器。
Q:可以导出私钥吗?
A:出于安全考虑,AckShell 不提供私钥明文导出功能。你可以直接访问操作系统密钥链进行导出。