# SSH 密钥在线生成 - Ed25519、RSA、ECDSA 公私钥与指纹

> 在浏览器本地生成 SSH 密钥对：Ed25519、RSA 2048/3072/4096、ECDSA P-256/384，输出 OpenSSH 公钥、私钥（可设密码）和 PKCS#8，显示 SHA256 指纹。

- 网址: https://qilingtools.com/zh/ssh-keygen
- 分类: 开发工具 (https://qilingtools.com/zh/dev)
- 标签: [隐私安全](https://qilingtools.com/zh/tags/privacy), [开发](https://qilingtools.com/zh/tags/dev), [运维部署](https://qilingtools.com/zh/tags/devops)
- 最后更新: 2026-10-26
- 价格: 免费，无需注册
- 隐私: 在浏览器本地处理，文件不上传服务器

临时需要一对 SSH 密钥，手边却没有终端？这个工具用浏览器内置的 WebCrypto 在本地生成密钥，不经过任何服务器。支持 Ed25519（推荐，需浏览器支持，会自动检测）、RSA 2048 / 3072 / 4096 和 ECDSA P-256 / P-384。生成后得到可以直接粘贴进服务器 ~/.ssh/authorized_keys 的 OpenSSH 公钥（带注释），以及 openssh-key-v1 格式的私钥：设置密码时与 ssh-keygen 一样使用 bcrypt-pbkdf 派生密钥并以 aes256-ctr 加密，轮数可调。也可以导出 PKCS#8 / SPKI 格式的 PEM，供 OpenSSL 或其它程序使用。页面会显示与 ssh-keygen -l 完全一致的 SHA256 指纹和 randomart 图案，方便核对，并给出保存私钥、设置权限、ssh-copy-id 安装公钥的命令。另一个标签页可以粘贴任意公钥（authorized_keys 行或 RFC 4716 格式），查看类型、位数、曲线、注释、指纹和 randomart，并提示 DSA、短 RSA 等不安全的密钥。请注意：密钥只存在于页面内存中，关闭页面即消失；但浏览器扩展或被入侵的电脑仍可能读到页面内容，生产服务器等重要场景请在本机终端运行 ssh-keygen。

## 使用步骤

1. 选择算法（推荐 Ed25519），填写注释，可选设置私钥密码
2. 点击“生成密钥对”，下载私钥 id_xxx 和公钥 id_xxx.pub，核对指纹
3. 把私钥放到 ~/.ssh 并 chmod 600，用 ssh-copy-id 或手动把公钥追加到服务器的 authorized_keys

## 功能特点

- Ed25519、RSA 2048/3072/4096、ECDSA P-256/P-384
- OpenSSH 公钥与 openssh-key-v1 私钥，可用 bcrypt-pbkdf + aes256-ctr 加密
- PKCS#8 / SPKI PEM 导出
- 与 ssh-keygen 一致的 SHA256 指纹和 randomart
- 解析任意公钥：类型、位数、指纹、安全提示
- 附带安装公钥与权限设置命令
- WebCrypto 本地生成，密钥不上传

## 常见问题

### 在网页上生成 SSH 密钥安全吗？

密钥由浏览器的 WebCrypto 安全随机数在本地生成，页面不会把它发送到任何地方，刷新即消失。但网页环境的风险仍高于本机终端：恶意浏览器扩展、被入侵的电脑都可能读取页面内容。因此它适合测试、临时环境和学习；生产服务器、Git 签名、长期使用的密钥，建议在自己的电脑上运行 ssh-keygen -t ed25519 生成。

### 该选 Ed25519 还是 RSA？

优先 Ed25519：密钥短、签名快、安全性高，OpenSSH 6.5（2014 年）以后都支持。只有遇到不支持 Ed25519 的老旧系统或设备时才用 RSA，并且至少 3072 位。ECDSA 适合只接受 NIST 曲线的环境。若浏览器不支持 Ed25519，工具会提示并改用 ECDSA。

### 生成的私钥能直接用于 ssh 吗？

可以。私钥是 OpenSSH 自己的 openssh-key-v1 格式，与 ssh-keygen 生成的文件相同，下载后放到 ~/.ssh/ 并执行 chmod 600 即可；设置了密码的私钥用 bcrypt-pbkdf + aes256-ctr 加密，ssh、ssh-add 都能直接解密。用 ssh-keygen -y -f 私钥 可以从私钥推出公钥核对。

### 指纹和 randomart 有什么用？

指纹是公钥的 SHA256 摘要，首次连接服务器或把公钥交给别人时，用来确认密钥没有被替换。randomart 是同一摘要画成的图案，肉眼比较更容易。本工具的输出与 ssh-keygen -lv 完全一致，可以直接对照。

## 相关工具

- [JSON 格式化](https://qilingtools.com/zh/json): 免费在线 JSON 格式化：一键美化、压缩，实时语法校验并定位到出错行列，支持树形视图折叠、键名排序、转义与去转义、Unicode 转中文、复制下载，数据不上传。
- [Base64 编解码](https://qilingtools.com/zh/base64): 免费在线 Base64 编码解码工具：支持中文 UTF-8、URL 安全变体，文本与 Base64 互转，实时转换，本地处理不上传。
- [URL 编解码](https://qilingtools.com/zh/url-encode): 免费在线 URL 编码解码工具：encodeURIComponent 与 encodeURI 两种模式，处理中文、空格与特殊符号，本地实时转换不上传。
- [JWT 解析](https://qilingtools.com/zh/jwt): 免费在线 JWT 解析工具：解码 JWT 的 Header 与 Payload，展示过期时间、签发时间等，本地解析不上传，保护令牌安全。
- [时间戳转换](https://qilingtools.com/zh/timestamp): 免费在线 Unix 时间戳转换工具：时间戳与日期互转，自动识别秒/毫秒，显示本地时间、UTC、ISO 8601 和相对时间，实时更新。
- [哈希计算](https://qilingtools.com/zh/hash): 免费在线哈希/摘要计算工具：对文本或文件计算 SHA-1、SHA-256、SHA-384、SHA-512，使用浏览器加密接口本地完成，文件不上传。
- [UUID 生成](https://qilingtools.com/zh/uuid): 免费在线 UUID 生成器：使用加密安全随机数批量生成符合 RFC 4122 的 UUID v4，可大写、去连字符、加花括号，一键复制。
- [进制转换](https://qilingtools.com/zh/base-convert): 免费在线进制转换工具：二进制、八进制、十进制、十六进制及任意 2–36 进制互转，支持大整数（BigInt），本地实时计算。
