web-dev-qa-db-ja.com

OpenSSH形式でRSA2キーを生成します

OpenSSH形式のキーRSAv2を生成する必要があります。私は少し混乱しています。 PuTTY KeyGeneratorを使用して生成しようとしています。オプションSSH2-RSA、SSH1-RSAが表示されます。では、SSH2-RSAはRSA2キーですか、それとも他の意味ですか?

また、このキーはOpenSSH形式ですか? OpenSShキーのエクスポートとssh.comキーのエクスポートの2つのオプションがある変換タブがあることがわかります。したがって、生成したキーがOpenSSH形式であるかどうかはわかりません。

1
Ankur Bhatia

オプションSSH2-RSA、SSH1-RSAが表示されます。では、SSH2-RSAはRSA2キーですか、それとも他の意味ですか?

OpenSSHは、RSAキーに2つの異なる形式(およびファイル)を使用します。1つは、使用すべきではない(多くの場合、使用が許可されていない)古い脆弱なSSHv1プロトコル用です。 1つは現在のSSHv2プロトコル用です。 OpenSSHのssh-keygenはそれらを-t rsa1および-t rsa(わかりやすくするためにrsa2と呼びます)と呼び、puttygenはそれらをSSH1-RSAおよびSSH2-RSAと呼びます。

そうです、SSH2-RSAはRSA2形式の鍵を示します。

また、このキーはOpenSSH形式ですか? OpenSShキーのエクスポートとssh.comキーのエクスポートの2つのオプションがある変換タブがあることがわかります。

(SSH2-RSAを選択した後)4つのオプションがあるようです:

  1. 公開鍵の保存:これは、SSH2公開鍵形式で公開鍵をエクスポートします。これは標準( RFC4716 )ですが、広く使用されていません。
  2. 秘密鍵の保存:これにより、秘密鍵が独自の/暗号化されたPuTTY形式でエクスポートされます。
  3. OpenSSHキーのエクスポート:これは実際にOpen[〜#〜] ssl [〜#〜]暗号化秘密キー(PKCS#1/PEM形式)をエクスポートします。 Open[〜#〜] ssh [〜#〜]は通常RSA2キーに使用します(OpenSSHは同様にDSAおよびECDSA秘密キーにOpenSSL形式を使用しますv2ですが、最近のバージョンでは、Ed25519秘密鍵用に独自の形式があり、OpenSSLがまだ認識していない新しいアルゴリズムです。
  4. Ssh.comキーのエクスポート:これは、商用SSH実装で使用される形式のキーをssh.comからエクスポートします Wikipediaを参照 これは、ssh-keygen -iを使用してOpenSSHにインポートできます。

さらに、公開鍵は、明示的なアクションなしで、鍵が生成またはロードされるたびに、OpenSSH authorized_keys(およびknown_hosts)形式で表示されます。この形式は、RSA1(SSHv1)とRSA2およびその他のSSHv2キーの間でも異なりますが、それほど劇的ではありません。 v2の場合、これはrfc4716形式と同様ですが、改行やPEMヘッダー/トレーラーがないワイヤーエンコーディングのアルゴリズム名とbase64を使用します。

秘密鍵形式はローカルにとどまることができますが、公開鍵をサーバー(クライアントと同じソフトウェアを実行しない場合があります)にコピーする必要があるため、通常は公開鍵形式の方が重要であることに注意してください。ただし、SSHのユーザーは、秘密鍵を他のマシンにもコピーすることがよくあります。

公開鍵を保存する

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20151022"
    ... base 64 ...
---- END SSH2 PUBLIC KEY ----

秘密鍵を保存する

PuTTY-User-Key-File-2: ssh-rsa
Encryption: aes256-cbc
Comment: rsa-key-20151022
Public-Lines: 6
... base 64 ...
Private-Lines: 14
... base 64 ...
Private-MAC: 243d3afda7ac218891e39fc0df7ed7cf97d8f358

OpenSSHキーをエクスポートします

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,85137363803E9EA9

... base 64 ...
-----END RSA PRIVATE KEY-----

Ssh.comキーをエクスポートする

---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
Comment: "rsa-key-20151022"
... base 64 ...
---- END SSH2 ENCRYPTED PRIVATE KEY ----
2
Maarten Bodewes