Ed25519 は小さく・高速で現代的 — 推奨。RSA-4096 は生成に数秒かかります。
機能の説明
SSH Key Generator は、ブラウザーの Web Crypto API で Ed25519 または RSA(2048/4096 ビット) の SSH キーペアを作成します — 100% クライアント側で、サーバーは一切関与しません。公開鍵は標準的な 1 行の OpenSSH フォーマット(ssh-ed25519 AAAA... comment または ssh-rsa AAAA... comment)として出力されるため、そのまま ~/.ssh/authorized_keys や GitHub/GitLab の deploy-keys 欄に貼り付けられます。Ed25519 の秘密鍵は、モダンな暗号化なしの -----BEGIN OPENSSH PRIVATE KEY----- フォーマット(OpenSSH 7.8 以降の ssh-keygen が書き出すのと同じもの)でエンコードされます。RSA の秘密鍵は PKCS#8 PEM です。さらに各キーには SHA256 フィンガープリント(SHA256:...)が付きます — OpenSSH 標準です — ので、サーバーが受け付けたキーが自分が生成したものだと確認できます。
使い方
- アルゴリズムを選びます: Ed25519(推奨 — 小さく、高速で、モダン)、RSA-2048、または RSA-4096(生成に数秒かかります)。
- 任意でコメントを入力します — 慣例では
user@host— 公開鍵の行末に付加されます。 - Generate key pair を押します。
- 公開鍵(
id_ed25519.pub/id_rsa.pub)と 秘密鍵(id_ed25519/id_rsa)をコピーまたはダウンロードします。 - 公開鍵をサーバーの
~/.ssh/authorized_keysに追加します。
例
コメント付きの Ed25519:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBxT0... gab@cosmo
SHA256:q3MD1n+X8kPfzCt2VbY0R4hJm5N6sT7uW8xY9zA0bC1
RSA-2048 の公開鍵(指数 65537、2048 ビットの法):
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ... gab@cosmo
秘密鍵のフォーマット:
-----BEGIN OPENSSH PRIVATE KEY----- (Ed25519)
-----BEGIN PRIVATE KEY----- (RSA, PKCS#8)
補足事項
- サーバーコンタクトなし: キーペアはブラウザーの Web Crypto API で生成されます。送信もログも保存も一切ありません — ページを再読み込みすればキーは消えます。残しておきたいものは自分で保存してください。
- なぜ Ed25519? キーは 32 バイト(RSA は 256 バイト以上)で、生成は一瞬、署名/検証も高速です。OpenSSH は 6.5(2014 年)から対応しています。RSA-2048 は古いサーバー向けの安全なフォールバックです。RSA-4096 はポリシーで要求される場合のみに。
- フィンガープリント: 生の公開鍵 blob の SHA-256 ダイジェストの
SHA256:+base64base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
—ssh-keygen -lfが出力するものとまったく同じです。サーバーやssh-add -lが報告するフィンガープリントと比較してください。 - パスフレーズ層なし: これらの秘密鍵は暗号化されていません(Ed25519 は OpenSSH の “cipher none”、RSA は標準 PKCS#8)。ファイル権限(
chmod 600)で保護するか、自分のマシンでssh-keygen -p -f id_ed25519としてパスフレーズを追加してください。 - 秘密鍵の秘匿: 秘密鍵はどこにも貼り付けないでください。共有を意図しているのは公開鍵(
*.pubの行)だけです。 - 関連ツール: Password Generator(パスフレーズを選ぶ)、File Encryptor(保存時の機密ファイル保護)。