OpenSSHキーとPuTTYキーの違いは何ですか?

OpenSSHキーとPuTTYキーの違いは何ですか?

ssh-keygen("ssh"パッケージ)が(puttygen"パテ「パック)。

一部のSSHサーバーを使用して公開鍵と秘密鍵を生成すると、私のssh-keygen鍵は許可されません。puttygen1つのサーバーでのみキーを生成すると許可されます。

Linuxリポジトリがこれに対する一般的なソリューション(パッケージ)を提案しないのはなぜですか?

別のパッケージが見つかりました。SSH-3.2.9.1PuTTYで使用するキーを生成します。しかし、なぜSSHのための便利なソリューションがないのですか?

答え1

OpenSSHはSSHプロトコルの事実上標準的な実装です。 PuTTYとOpenSSHが異なる場合、PuTTYは互換性がありません。

OpenSSHを介してキーを生成するためのデフォルトオプションを使用すると、ssh-keygenほぼすべてのサーバーで機能します。これらのキーを受け入れないサーバーは、古い、または他のSSH実装を使用するか、奇妙に制限された方法で構成されています。一部のサーバーは、デフォルト以外のタイプのキーをサポートしていない場合があります。具体的には、ECDSAキーを使用するとセッション設定が少し速くなりますが、最新バージョンのOpenSSHでのみサポートされます。

PuTTYは異なるキーファイル形式を使用します。ツールに付属変化独自の形式とOpenSSH形式の.ppk関係。

見つかったssh-3.2.9.1は次のようになります。商用製品独自の秘密鍵形式があります。 OpenSSHの代わりに使用する理由はありません。互換性がなく、支払いが必要で、使用方法に関するチュートリアルはほとんどありません。

答え2

ほとんどのLinuxディストリビューションはLinux用のPuTTY(パッケージ名)を提供しますputty。 Linux側にPuTTYをインストールし、それを使用してputtygen.ppkファイルを通常のスタイルsshキーファイル(PEMファイルと呼ばれる - ファイル名に.pemがない場合でも)に変換できます。

puttygen id_dsa.ppk -O private-openssh -o id_dsa

メモ:puttygenインポートスタイルのPEMファイルをsshPuTTYとして再利用することもできます。

PuTTYの作成者は単純さを選択したため、公開鍵と秘密鍵がPuTTY /で使用される基本的なセキュリティを形成します。SSH-2鍵認証は単一の排他的な .ppk ファイルに保存されます。通常、これらのキーは2つの別々のファイルとして保持されますssh

Linuxでは、キーファイルは通常ディレクトリに保存されます。.ssh

このスタックオーバーフローの質問には、変換プロセスの良い概要があります。PEMをPPKファイル形式に変換

PuTTYの著者はまた、PuTTYの彼の仕事について議論します。PuTTYユーザーマニュアル。これについてはセクション8.2.12で読むことができます。

答え3

どちらも「SSHプロトコルバージョン2用のRSAキーペア」を保存し、次のことができます。変換済みただし、実際の保存形式の違いは次のとおりです。

~からhttps://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/key-formats-natively.html

PuTTYキー形式の利点は次のとおりです。

  • キーの公開部分はプレーンテキストとして保存されます。OpenSSH 秘密鍵形式は、鍵ファイル全体を暗号化します。これにより、クライアントはキーを使用して操作を実行する前にユーザーにパスワードを要求する必要があります。具体的には、パスワードを要求する前にパスワードを要求する必要があることを意味します。供給認証のために公開鍵をサーバーに送信します。 PuTTYの形式は公開鍵をプレーンテキストとして保存し、秘密鍵部分のみを暗号化します。つまり、自動的に公開鍵をサーバーに送信し、サーバーがその鍵を使用して認証を受け入れるかどうかを判断でき、本当に必要です。パスワードを入力してください。

    私はOpenSSHが秘密鍵ファイルと一緒に提供された場合、この目的のためにファイルを読み取ると思いましたが、.pubこれはしばしば混乱の原因です(人々が秘密鍵ファイルを置き換えて古いファイルとして残っているのを見たことがあります.pub)。その結果、SSH認証プロセスのために非常に混乱しました! )。
  • 鍵は完全に変調されません。公開鍵をプレーンテキストとして保存する鍵形式は、改ざん攻撃に対して脆弱です。改ざん攻撃では、改ざんされた鍵で作成された署名が秘密部分に関する情報を公開するように、鍵の公開部分が変更されます。このため、PuTTYのキー形式には、MAC(メッセージ認証コード)、パスワードが含まれており、キーの公開部分と非公開部分を上書きします。したがって、公開鍵をプレーンテキストで提供する便利さを提供するだけでなく、改ざん攻撃の試みをすぐに検出し、他の鍵形式では見られないセキュリティと利便性の組み合わせを提供します。追加の利点として、MACはキーアノテーションも扱うので、誰かが2つのキーを交換してコメントを交換するときに発生する可能性のあるいたずらを防ぐことができます。

    OpenSSHが公開鍵暗号化を維持する方法可能これらの攻撃に対するいくつかのセキュリティも提供されていますが、適切な保護を提供するかどうかは不明です。秘密のために設計された暗号化は、攻撃者が暗号化されたデータを効果的に変更する方法を残すことがよくあります。真の整合性保護のためには、このために設計された真の専用MACが必要です。

[強調する次に追加]

関連情報