web-dev-qa-db-ja.com

秘密鍵のパスフレーズを取得する方法は?

Ubuntuを使用してDSAキーを生成しました。 sshに接続する前にキーが必要になるように、リモートサーバーに公開キーを保存しました。

そのキーのパスフレーズを忘れました。どうすれば取得できますか?

13
Chirag

かなり安全なパスワードである場合、答えはおそらく「まったくない」でしょう。 ssh-keygenのマニュアルページによると、秘密鍵は128ビットAESを使用して暗号化されます。このアルゴリズムにはいくつかの弱点がありますが、複雑さは十分に高く、合理的に secure にします。したがって、強力なパスワードと高度な並列復号化(たとえばGPGPUを使用)が210 スレッド、それぞれ非常に楽観的な割合230 1秒あたりの操作、1日後、約2回実行できます56 オペレーション。約2の効果的な複雑さで100、キーを破るには約30億年かかります...

安全でないパスワードの場合、 ブルートフォース でパスワードを破る可能性があります。コミュニティ拡張版 John the Ripper には、OpenSSHキーファイルに対するブルートフォース攻撃用のGPGPUモジュールが含まれているようです(試してみませんでした。プロプライエタリのドライバーは使用していません)。

ちなみに、 類似した質問 は、キーの取得に関するものではなく、暗号化自体の破壊が既に求められています。

12
soulsource