首页/系统/Linux 运维命令速查/ssh-keygen 生成与维护密钥
本包目录(613 条)
文件与目录76 条文本处理77 条
网络命令82 条
进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

ssh-keygen 生成与维护密钥

生成 SSH 密钥对(推荐 ed25519)、查看指纹、清理 known_hosts 旧记录(-R);密钥认证的基础工具。

Linux 运维命令速查系统更新于 2026-10-12
用途密钥生成/指纹/known_hosts 维护
语法ssh-keygen -t 类型 [-C 备注] / -lf 公钥 / -R 主机
推荐ed25519,兼容旧系统用 rsa -b 4096

常用示例

常用示例
ssh-keygen -t ed25519 -C 'ops@ci'          # 生成密钥对(默认 ~/.ssh)
ssh-keygen -t ed25519 -f ~/.ssh/deploy -C deploy -N ''   # 免交互、指定文件名
ssh-keygen -lf ~/.ssh/id_ed25519.pub        # 查看指纹
ssh-keygen -R 10.0.0.5                      # 清掉该主机的旧指纹(重装系统后必做)
ssh-keygen -R '10.0.0.5' -f ~/.ssh/known_hosts
私钥权限必须 600、.ssh 目录 700,否则 ssh 直接拒用;私钥永不外传/入库。

易错点

  • 重装服务器后报 REMOTE HOST IDENTIFICATION HAS CHANGED:用 ssh-keygen -R 清理,不是硬闯 -o StrictHostKeyChecking=no
  • 给脚本用的密钥别设 passphrase 又忘了 ssh-agent——CI 场景用空 passphrase 且妥善保管

数据来源与参考

  • man 1 ssh-keygen(OpenSSH 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌