ssh-keygen

生成密钥对、查看指纹,以及修改私钥口令。

执行前须知

请在提示时设置强口令。.pub 文件是公钥;不带 .pub 的文件是私钥,切勿上传到服务器或分享。目标文件已存在时,不要误覆盖。修改私钥口令只改变私钥的保护方式,不会修改服务器账号密码。Ed25519 是否可用取决于服务器和安全策略。

使用示例

生成 Ed25519 密钥对;按提示设置私钥口令。

ssh-keygen -t ed25519 -C 'laptop-key' -f ~/.ssh/id_ed25519

查看公钥指纹,供核对使用。

ssh-keygen -lf ~/.ssh/id_ed25519.pub

交互式修改既有私钥的口令。

ssh-keygen -p -f ~/.ssh/id_ed25519

参数与示例

-t type常用

选择密钥类型; ed25519 是双方支持时的常见选择。

示例
ssh-keygen -t ed25519
-f filename常用

指定密钥文件。在创建密钥之前检查路径以避免覆盖现有密钥。

示例
ssh-keygen -t ed25519 -f ~/.ssh/lab_key
-C comment常用

为生成的密钥添加注释以供识别。

示例
ssh-keygen -t ed25519 -C 'laptop-key'
-b bits

指定支持它的算法的密钥大小,例如 RSA。

示例
ssh-keygen -t rsa -b 4096
-a rounds

设置用于私钥口令保护的密钥派生轮数。

示例
ssh-keygen -t ed25519 -a 64
-l -f filename常用

显示密钥或已知主机条目的指纹。

示例
ssh-keygen -lf ~/.ssh/id_ed25519.pub
-p -f filename常用

以交互方式更改现有私钥的密码。

示例
ssh-keygen -p -f ~/.ssh/id_ed25519
-y -f filename

打印从私钥派生的公钥。

示例
ssh-keygen -y -f ~/.ssh/id_ed25519
-F hostname

在 known_hosts 文件中查找主机,包括哈希条目。

示例
ssh-keygen -F server.example.com
-R hostname

从 known_hosts 中删除匹配的条目。信任新的主机密钥前,应通过独立渠道验证。

示例
ssh-keygen -R server.example.com

权威参考

核对日期:2026 年 10 月 27 日