# SSH 密钥对生成器

生成 SSH 密钥对（推荐 Ed25519，或 RSA 4096、ECDSA P-256），公钥为可直接用于 ~/.ssh/authorized_keys 的 OpenSSH 格式，附 SHA256 指纹与 PEM 私钥。可选口令加密。本地运行。

> 标准页面: https://elysiatools.com/zh/tools/ssh-key-generator

- **分类:** Security

- **关键词:** SSH, 密钥, Ed25519, RSA, 公钥

## 概述

生成 SSH 密钥对并将公钥格式化为 OpenSSH 单行格式。

- **算法**：
  - **Ed25519**（推荐）—— 现代、小、快，自 2015 年起是 OpenSSH 默认。256 位安全。
  - **RSA 4096** —— 较大但与很旧的 SSH 服务器广泛兼容。仅在 Ed25519 不被支持时使用。
  - **ECDSA P-256** —— 紧凑的替代方案；不如 Ed25519 常见。
- **注释**：附加在公钥末尾（如 `alice@laptop`），便于在 authorized_keys 中识别。
- **口令**：若提供，私钥会被加密（AES-256-CBC，PKCS#8）。

输出：
- OpenSSH 格式公钥（`ssh-ed25519 AAAA... comment`）—— 可直接粘贴到 `~/.ssh/authorized_keys`。
- SHA256 指纹（`SHA256:...`），用于在不安全信道上核对密钥。
- PKCS#8 PEM 私钥。（Node 不能原生输出 OpenSSH 私钥容器；如需 `BEGIN OPENSSH PRIVATE KEY` 格式，用 `ssh-keygen -p` 转换。）

全部本地运行；密钥不离开请求。

## 输入项

- **算法** (select)
- **注释（如 user@host）** (text): alice@laptop
- **口令（可选，加密私钥）** (text): Leave empty for an unencrypted key…

## 适用场景

- 需要为新配置的 Linux 服务器或云主机配置免密 SSH 登录时。
- 需要在 GitHub、GitLab 或 Gitee 等代码托管平台添加新的 SSH 公钥以进行安全的 Git 操作时。
- 在没有安装命令行工具（如 ssh-keygen）的设备上，需要快速且安全地生成带口令保护的密钥对时。

## 工作原理

- 选择所需的加密算法（推荐使用现代且安全的 Ed25519，或选择兼容旧系统的 RSA 4096/ECDSA P-256）。
- （可选）输入用于标识密钥的注释（如 user@host）以及用于加密私钥的口令（Passphrase）。
- 工具在本地浏览器中即时计算并输出 OpenSSH 格式公钥、SHA256 指纹以及 PKCS#8 PEM 私钥。

## 使用案例

- 云服务器安全部署：为新创建的云服务器实例生成 Ed25519 密钥对，实现安全的免密 SSH 登录。
- Git 托管平台授权：生成带注释的 SSH 公钥并配置到 GitHub，以便通过 SSH 协议推送和拉取代码仓库。
- 自动化运维脚本配置：为自动化部署工具生成专用的、带口令加密的 SSH 密钥对。

## 常见问题

### 生成的密钥对安全吗？会上传到服务器吗？

绝对安全。所有密钥对的计算和生成均在您的浏览器本地完成，私钥和公钥绝不会上传到任何服务器。

### 为什么推荐使用 Ed25519 算法？

Ed25519 是现代 SSH 默认算法，相比 RSA 具有更高的安全性和更快的计算速度，且生成的密钥长度极短。

### 如何在服务器上使用生成的公钥？

复制生成的 OpenSSH 格式公钥，将其追加到目标服务器用户目录下的 `~/.ssh/authorized_keys` 文件中即可。

### 为什么生成的私钥是 PEM 格式而不是 OpenSSH 格式？

本工具原生输出标准的 PKCS#8 PEM 私钥。如需 `BEGIN OPENSSH PRIVATE KEY` 格式，可在本地使用 `ssh-keygen -p` 命令进行转换。

### 设置口令（Passphrase）有什么作用？

口令用于对私钥进行 AES-256-CBC 加密。即使私钥文件不慎泄露，没有口令也无法被恶意使用。

## 相关工具

- [PKCE Code Verifier 与 Challenge 生成器](https://elysiatools.com/zh/tools/pkce-code-verifier-generator): 生成、校验与验证 OAuth2 / OIDC PKCE（RFC 7636）的 code_verifier 与 S256 code_challenge 配对。三种模式：(1) 从密码学安全随机字节（256/384/512/768 位熵）生成全新的 verifier + challenge；(2) 按 RFC 审计你已有的 verifier——长度（43–128）、字符集 \[A-Za-z0-9-._~\] 与 ≥256 位熵；(3) 通过重算 BASE64URL(SHA256(verifier)) 验证 verifier/challenge 配对。可选构建完整的授权请求 URL 与令牌交换体。补足通用的 nonce-generator（仅输出 verifier+challenge 配对）——增加 RFC 合规审计与配对验证。
- [HMAC 生成与验证器](https://elysiatools.com/zh/tools/hmac-generator-verifier): 使用 SHA-1/SHA-2/SHA-3/BLAKE2 对消息+共享密钥计算 HMAC 消息认证签名，或对收到的签名做验证（恒定时间比对），并内置 Stripe / Slack / GitHub 的 webhook 预设
- [Markdown 表格生成器](https://elysiatools.com/zh/tools/markdown-table-generator): 从 CSV、JSON 或数组数据生成格式化 Markdown 表格，支持对齐、表头样式、列宽控制和合并提示
- [TOTP / HOTP 离线动态密码生成器](https://elysiatools.com/zh/tools/totp-hotp-offline-generator): 从 base32 共享密钥生成 RFC 6238 TOTP（基于时间，6/8 位、30/60 秒步长）与 RFC 4226 HOTP（基于计数器）一次性密码，完全离线，支持 HMAC-SHA1/256/512，并导出 otpauth:// URI 以便导入 Google Authenticator / Authy
- [Argon2 密码哈希生成器](https://elysiatools.com/zh/tools/argon2-password-hash-generator): 生成 Argon2id 密码哈希，支持内存、迭代、并行度和盐长度调优，并输出 PHC 编码字符串
- [BIP39 助记词生成器](https://elysiatools.com/zh/tools/mnemonic-bip39-generator): 生成或验证 12 到 24 词的 BIP39 助记词，并显示 entropy 与 PBKDF2-HMAC-SHA512 seed 输出
- [数据列提取器](https://elysiatools.com/zh/tools/data-column-extractor): 从表格数据中提取指定列，支持多种格式和灵活的列选择方式
- [SP 800-56C HKDF Extract 与 Expand 演示](https://elysiatools.com/zh/tools/sp800-56c-hkdf-extract-and-expand-walkthrough): 逐步展示协议密钥派生中的 HKDF Extract+Expand HMAC 过程，包括 PRK、T(n) 和 OKM。

## 示例

- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
- [Android Kotlin 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-kotlin): Android Kotlin 图像处理示例，包括图像读取保存、缩放和格式转换
- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
- [Web Rust 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-rust): Web Rust 图像处理示例，包括图像读取保存、缩放和格式转换

## 相关内容

- [文本脱敏、高亮与展示格式化工具](https://elysiatools.com/zh/hubs/text-format): 在一个专题中比较文本脱敏、PII 检测、电话号码规范化、重点高亮、居中排版和 diff 格式化工具。
- [JSON 格式化、对比与规范化工具](https://elysiatools.com/zh/hubs/json-format): 在一个专题中比较 JSON 格式化、差异对比、日志审查、配置比较和数据规范化工具，适合需要让 JSON 更易读、更易审查的流程。
- [代码与标记压缩、美化与格式化工具](https://elysiatools.com/zh/hubs/code-minify-beautify-format-tools): 在一个 hub 里压缩与美化 CSS、HTML、JavaScript、JSON、SQL、XML、YAML、TOML、SVG 与 VBA，检查 Markdown 与邮件 HTML，并跨语言格式化代码，服务于生产打包与代码评审。
