ssh-keygenはRSA秘密鍵を作成しません


71

私は秘密鍵を作成しようとしていますが、問題があります。

を使用するssh-keygen -t rsa -b 4096 -C "your_email@example.com"と、次の形式の秘密鍵を取得します。

-----BEGIN OPENSSH PRIVATE KEY-----
uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END OPENSSH PRIVATE KEY-----

そして、これは私が使用しようとしているアプリケーションでは受け入れられません。

次のRSA形式のキーが必要です。

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,25737CC2C70BFABADB1B4598BD8AB9E9

uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END RSA PRIVATE KEY-----

正しい形式を作成するにはどうすればよいですか?私が持っている他のすべてのMacは、私が問題を抱えているものを除いて、正しい形式を作成するため、これは奇妙です。

新しくインストールしたMac OS Mojaveを使用しています


他のMacはMojaveにありませんか?私もMojaveを使用しており、「新しい」opensshキー形式を取得しています。したがって、他のMacのバージョンは低いと思います。使用されているOpenSSLバージョンを確認してください。
ジーナ

@Zina他のMacもMojave上にあり、同じOpenSSLバージョンを持っています。

RSAがデフォルトのタイプである必要があります。-t rsaオプションを完全に省略した場合はどうなりますか?
-guzzijason

@guzzijasonそれは同じです。それが私を狂わせています。Mac(動作中)で-t rsaを省略しても、RSAは正しく生成されます。

私も同じ問題を抱えています。回避策として、古いバージョンのopensshを使用してキーを生成しました。生成されたキーが正しいかどうかは、openssl rsa -text -in key_file -passin 'pass:passphrase'でテストできます。バージョン7.4p1-16は機能します。
atype

回答:


76

最近(mojave 10.14.1にアップグレードした後)同じ問題に直面しましたが、この問題の2つの解決策があります。

  • ssh-keygenバイナリをダウングレードします(linux / dockerイメージから古いバージョンを簡単に入手できます)

または

  • -m PEMssh-keygenコマンドにオプションを追加します。たとえば、ssh-keygen -m PEM -t rsa -b 4096 -C "your_email@example.com"ssh-keygenを強制的にPEM形式としてエクスポートするように実行できます。

mojaveの現在のssh-keygenバージョンでは、デフォルトのエクスポート形式は次のRFC4716ようになっているようです


1
デフォルトのエクスポート公開鍵形式は実際にはrfc4716ですが、Qの形式は内部秘密鍵形式であり、1999年には存在しなかったOpenSSHの「新しい」形式であり、現在では説明されていません。6.0から6.3を試してください。
-dave_thompson_085

3
答えを編集することはできませんが、1と2は独立した解決策であり、連続したステップではないことを明確にしてください。1回限りのキー生成のためにダウングレードする必要はありません。追加するだけ-m PEM
sdoxsee

49

OpenSSH秘密鍵形式の新しい鍵は、ssh-keygenユーティリティを使用して古いPEM形式に変換できます。

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

この結果を達成するためだけに、古いOpenSSHにダウングレードする必要はありません。


はい。受け入れられた答えのコメントですでに言及したように。serverfault.com/questions/939909/...
sdoxsee

9
受け入れられた答えで明らかでないのは、新しいキーペアを作成する必要がないということです。既存のキーを取得し、そのコマンドで変換できます。ファイルを上書きしますので、念のためバックアップをとっておくことをお勧めします。
マーティンタマ

既存の秘密鍵をRSA形式に変換する方法に関する指示を追加していただきありがとうございます。ベーコンを保存しました!
クレイグブラジク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.