AckShell
AckShell

SSH 密钥管理

安全管理多个 SSH 密钥

SSH 密钥管理

AckShell 提供安全的 SSH 密钥管理功能,所有私钥都通过操作系统密钥链加密存储,绝不上传到云端。

密钥存储安全

平台存储方式
macOSKeychain Services(系统密钥链)
WindowsDPAPI(数据保护 API)
Linuxlibsecret / 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 内置密钥生成器中完成:密钥管理 → 生成新密钥

导入现有密钥

  1. 打开 密钥管理
  2. 点击 导入密钥
  3. 选择私钥文件(.pem.ppk 等格式均支持)
  4. 如有密码保护,输入密钥密码
  5. 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 密钥是安全最佳实践:

  1. 生成新密钥对
  2. 将新公钥部署到所有服务器
  3. 在 AckShell 中更新连接配置
  4. 从服务器删除旧公钥
  5. 删除旧私钥

常见问题

Q:忘记密钥密码怎么办?
A:无法直接恢复,需要生成新密钥并重新部署到所有服务器。

Q:可以导出私钥吗?
A:出于安全考虑,AckShell 不提供私钥明文导出功能。你可以直接访问操作系统密钥链进行导出。