正确命令是ssh-keygen -t ed25519 -C "ops-team@company.com",必须指定ed25519算法、设置强口令(如MapleTigerJolt7!)、私钥权限设为600,并通过ssh-add加载至ssh-agent验证可用性。

直接用 ssh-keygen -t ed25519 -C "your_email@example.com" 并在提示时输入强口令,就能生成符合企业级安全要求的加密密钥对。关键不在命令多复杂,而在于每一步是否守住权限、算法和验证三道防线。
必须指定ed25519算法,别依赖默认
OpenSSH 8.8+ 已禁用传统 RSA/SHA-1,不加 -t 参数会回退到不安全的 rsa 2048,导致连接失败或被拒绝。企业环境严禁使用默认行为:
- 正确命令:
ssh-keygen -t ed25519 -C "ops-team@company.com" -
-C后填可识别的业务标识(如部门+用途),不是密码,但便于审计追踪 - 不要加
-N ""或跳过口令——企业场景下私钥裸奔等于交出服务器门禁卡
Passphrase要真正强,不是“随便输一串”
企业级口令不是长度堆砌,而是抗暴力+抗记忆泄露:
- 推荐组合:4个以上无关联单词 + 1个数字 + 1个符号(例如
MapleTigerJolt7!) - 避免个人信息、常见短语、键盘序列(如 qwerty、123456)
- 生成时两次输入必须完全一致;输错三次会退出,需重来
生成后立刻验证密钥类型与权限
很多企业故障源于“以为生成了,其实没生效”:
- 查算法和长度:
ssh-keygen -l -f ~/.ssh/id_ed25519.pub→ 应显示256 ED25519 - 查私钥是否加密:
ssh-keygen -l -f ~/.ssh/id_ed25519→ 输入口令后若能显示指纹,说明加密有效 - 查权限:
ls -l ~/.ssh/id_ed25519→ 必须是-rw-------(600),否则 SSH 拒绝加载
让密钥真正可用:加载进 ssh-agent 并测试
企业运维常需多节点批量登录,手动输口令不可行:
- 启动代理并添加密钥:
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ed25519 - 确认已加载:
ssh-add -l→ 应列出该密钥指纹 - 测试连接:
ssh -o PubkeyAcceptedAlgorithms=+ssh-ed25519 user@target(显式启用算法,排除协商失败)


















