PPK to PEM 変換ツール

SSH 秘密鍵用の PPK to PEM 変換ツール — PuTTY の .ppk を OpenSSH/PKCS#8 PEM に、またその逆に変換(RSA & Ed25519)。

変換は Web Crypto API を使ってすべてブラウザ内で行われます — 貼り付けた秘密鍵はデバイスから離れることはなく、何もアップロードされません。鍵は秘密として扱い、安全に保管してください。

開発・運営:Udit Agarwal

新しい鍵ペアが必要ですか? SSH 鍵ジェネレーターを試す。

PPK ↔ PEM 変換 について

この PPK to PEM 変換ツールは、SSH 秘密鍵を PuTTY の .ppk 形式と OpenSSH/PKCS#8 PEM の間で、双方向に、すべてブラウザ内で変換します。鍵を貼り付けると方向が自動的に検出されます。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 バージョンで読める PuTTY .ppk v2 を出力
  • 変換した鍵をコピーするか、適切なファイル名でダウンロード
  • 検出されたアルゴリズムと変換方向を表示
  • Web Crypto API を使ってブラウザ内でローカルに動作

PPK ↔ PEM 変換 の使い方

  1. PuTTY の .ppk または PEM 秘密鍵を欄に貼り付ける。
  2. .ppk を変換する場合は、OpenSSH または PKCS#8 の出力形式を選ぶ。
  3. ツールに方向を自動検出させて変換する。
  4. 結果をコピーするか、提案されたファイル名でダウンロードする。
  5. 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 to PEM 変換ツールとは何ですか?
SSH 秘密鍵を PuTTY の .ppk 形式と、ssh・scp や多くの Linux/macOS ツールで使われる OpenSSH/PKCS#8 PEM 形式の間で双方向に変換し、同じ鍵が両方のツールチェーンで動くようにします。
どの鍵タイプがサポートされますか?
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 で出力にパスフレーズを再付与してください。

関連ツール

セキュリティの他のツール

セキュリティのツールをすべて見る (27) · すべてのツール