> 网络管理 > ssh-keygen

ssh-keygen: SSH 密钥对的生成与管理

ssh-keygen 是一个用于生成、管理和转换 OpenSSH 认证密钥对(公钥和私钥)的实用程序。它是通过 SSH 安全连接到远程服务器或为 Git 等服务进行身份验证的关键工具。

概述

ssh-keygen 是生成和管理 SSH 协议中使用的加密密钥的必备命令。它允许您在没有密码的情况下安全地连接到服务器,或为 Git 等服务进行身份验证。

主要功能

  • 生成 RSA、ED25519 等多种类型的 SSH 密钥对
  • 更改现有密钥的密码(passphrase)
  • 从私钥中提取公钥
  • 查看密钥指纹(fingerprint)
  • 转换密钥格式

主要选项

ssh-keygen 命令提供了用于密钥生成和管理的各种选项。

密钥生成选项

密钥管理选项

生成的命令:

请尝试组合命令。

描述:

`ssh-keygen` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

通过 ssh-keygen 的各种使用示例,您可以学习如何生成和管理 SSH 密钥。

生成默认 RSA 密钥对

ssh-keygen

最常见的用法,在默认路径(~/.ssh/id_rsa)下生成 RSA 密钥对。会提示输入密码。

生成 ED25519 密钥对并添加注释

ssh-keygen -t ed25519 -C "your_email@example.com"

生成 ED25519 类型的密钥,并在公钥中添加电子邮件注释。

使用特定文件名生成密钥对

ssh-keygen -f ~/.ssh/my_custom_key

在非默认路径下以其他名称生成密钥文件。(例如:~/.ssh/my_custom_key)

更改现有密钥的密码

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

更改已生成的私钥文件的密码。将以交互方式提示输入旧密码和新密码。

从私钥提取公钥

ssh-keygen -y -f ~/.ssh/id_rsa

从私钥文件(id_rsa)中提取相应的公钥并显示在标准输出上。您可以将此内容保存到 `id_rsa.pub` 文件中。

提示与注意事项

为了安全高效地使用 SSH 密钥,请注意以下提示和注意事项。

使用密码(Passphrase)

为私钥设置密码可以在密钥泄露时防止未经授权的使用,从而增强安全性。与 `ssh-agent` 结合使用,可以避免每次都输入密码,使用起来更方便。

  • **增强安全性**:在私钥泄露时提供额外的保护层
  • **便利性**:利用 `ssh-agent`,一次认证即可在多个会话中使用

设置密钥文件权限

私钥文件必须设置为只有所有者才能读取和写入。使用 `chmod 600` 至关重要,以防止其他用户访问。

  • **私钥**:`chmod 600 ~/.ssh/id_rsa`(仅所有者可读/写)
  • **公钥**:`chmod 644 ~/.ssh/id_rsa.pub`(所有者可读/写,组/其他人可读)

推荐的密钥类型

为了遵循最新的安全标准,建议使用 ED25519 或 RSA 4096 位密钥。

  • **ED25519**:更快、更安全,密钥尺寸更小
  • **RSA 4096**:兼容性好,安全性仍然很强

相同类别命令