PPK ↔ PEM Converter
Convert SSH private keys between PuTTY .ppk and OpenSSH/PEM (RSA & Ed25519) — locally in your browser.
转换完全在你的浏览器中使用 Web Crypto API 运行——你粘贴的私钥绝不会离开你的设备,也不会上传任何内容。请将该密钥视为机密并妥善保存。
需要一对全新的密钥对?试用 SSH 密钥生成器。
关于 PPK ↔ PEM Converter
这款 PPK 转 PEM 转换器可在 PuTTY 的 .ppk 格式与 OpenSSH/PKCS#8 PEM 之间双向转换 SSH 私钥,全部在你的浏览器中完成。粘贴一个密钥,方向会被自动检测:PuTTY .ppk 会变成可与 ssh -i 配合使用的 PEM,而 PEM(BEGIN OPENSSH/RSA/PRIVATE KEY)会被重新打包成可用于 PuTTY、WinSCP 或 FileZilla 的 PuTTY .ppk v2。它处理 RSA 和 Ed25519 密钥,并让你选择 OpenSSH 或 PKCS#8 输出。它面向在 Windows 与 Linux/macOS 工具链之间切换、需要正确密钥格式而又不想安装 PuTTYgen 的开发者和系统管理员。其构建使用 Web Crypto API 在本地运行,因此你的私钥保留在你的设备上。
功能特性
- 双向转换:PuTTY .ppk ↔ OpenSSH/PKCS#8 PEM
- 自动格式检测——无需手动切换模式
- 支持 RSA 和 Ed25519 私钥
- 选择 OpenSSH 或 PKCS#8 PEM 输出
- 输出 PuTTY .ppk v2,可被每个 PuTTY 版本读取
- 复制转换后的密钥或以合理的文件名下载
- 显示检测到的算法和转换方向
- 使用 Web Crypto API 在你的浏览器本地运行
如何使用 PPK ↔ PEM Converter
- 将你的 PuTTY .ppk 或 PEM 私钥粘贴到字段中。
- 如果转换的是 .ppk,请选择 OpenSSH 或 PKCS#8 输出格式。
- 让工具自动检测方向并转换。
- 复制结果或以建议的文件名下载。
- 对于 PEM 输出,在使用 ssh -i 之前运行 chmod 600。
示例
输入
PuTTY-User-Key-File-2: ssh-ed25519
Encryption: none
Comment: me@laptop
Public-Lines: 2
…
输出
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmU…
-----END OPENSSH PRIVATE KEY-----
一个 PuTTY Ed25519 .ppk 被转换为 OpenSSH PEM 私钥。
常见错误与故障排除
- 对受密码短语保护的密钥转换失败。 — 暂不支持加密密钥。请先移除密码短语——在 PuTTYgen 中不带密码短语保存,或运行 ssh-keygen -p -f your_key 并设置空密码短语——然后重新粘贴。
- 格式未被检测到,没有任何转换。 — 请粘贴包含头部和尾部行的完整密钥(PuTTY-User-Key-File-2: … 或 -----BEGIN … PRIVATE KEY-----)。截断或换行错乱的粘贴无法被识别。
- ECDSA 或 DSA 密钥无法转换。 — 这里仅支持 RSA 和 Ed25519 密钥。对于 ECDSA/DSA,请改用 PuTTYgen 或 ssh-keygen 转换。
- OpenSSH 因权限警告而拒绝该 PEM。 — 在 ssh -i 之前保存文件并对其运行 chmod 600;OpenSSH 拒绝全局可读的私钥。
常见问题
- 什么是 PPK 转 PEM 转换器?
- 它在 PuTTY 的 .ppk 格式与 ssh、scp 及大多数 Linux/macOS 工具使用的 OpenSSH/PKCS#8 PEM 格式之间双向转换 SSH 私钥——并可反向转换——使同一个密钥能在两套工具链中通用。
- 支持哪些密钥类型?
- RSA 和 Ed25519 私钥,双向均支持。ECDSA 或 DSA 等其他算法这里不支持;对于这些请使用 PuTTYgen 或 ssh-keygen。
- OpenSSH 和 PKCS#8 输出有什么区别?
- OpenSSH 是用于 ~/.ssh 和 ssh -i 的现代格式。PKCS#8 是一种较旧、广泛兼容的 PEM,许多库和工具都接受。除非有东西明确需要 PKCS#8,否则请选择 OpenSSH。
- 它能将 PEM 转换回用于 WinSCP 的 .ppk 吗?
- 可以。粘贴一个 PEM 私钥,它便会生成一个可在 PuTTY、WinSCP 或 FileZilla 中加载的 PuTTY .ppk v2。
- 我的私钥会被上传到任何地方吗?
- 不会。转换完全在你的浏览器中使用 Web Crypto API 运行。你的私钥绝不会离开你的设备,也不会发送任何内容到 ArrayKit。
- 为什么我的加密密钥无法转换?
- 暂不支持受密码短语保护的密钥。请先移除密码短语并转换,然后用 PuTTYgen 或 ssh-keygen 为输出重新添加密码短语。
相关工具
- SSH 密钥生成器 — 在浏览器中生成 Ed25519、RSA 或 ECDSA 的 SSH 密钥对并下载。
- 密码生成器 — 生成强随机密码并附带强度指示器(加密安全)。
- 哈希生成器 — 通过 Web Crypto API 生成 SHA-256 / SHA-1 / SHA-384 / SHA-512。
- JWT 解码器 — 解码 JWT 的头部和载荷,并查看 exp/iat(不做验证)。
- Basic Auth Generator — Generate and decode HTTP Basic Auth Authorization headers from a username and password.
- chmod 计算器 — 在八进制与符号(rwx)之间转换 Unix 文件权限。
全部 ArrayKit 工具