2

私はこの質問を見ていましたが、間違いを見つけようとして、PHPマニュアルに行き、これら2つのオプションを見ました:

CURLOPT_SSH_PRIVATE_KEYFILE 秘密鍵のファイル名。使用しない場合、HOME 環境変数が設定されている場合は libcurl のデフォルトは $HOME/.ssh/id_dsa になり、HOME が設定されていない場合は現在のディレクトリの「id_dsa」になります。ファイルがパスワードで保護されている場合は、CURLOPT_KEYPASSWD でパスワードを設定します。

CURLOPT_SSLKEY プライベート SSL キーを含むファイルの名前。

その質問のOPは a を使用しているので、 a の代わりに aCURLOPT_SSH_PUBLIC_KEYFILEを使用する必要があると思いますが、これらのオプションの違いはよくわかりません。CURLOPT_SSH_PRIVATE_KEYFILECURLOPT_SSLKEY

だからここに私の質問があります:

CURLOPT_SSLKEY と CURLOPT_SSH_PRIVATE_KEYFILE の違いは何ですか?

4

1 に答える 1

0

さて、私はこのIT セキュリティの質問で SSH と SSL の違いを見つけました。

Thomas Porninは次のように答えました。

SSL と SSH は両方とも、完全性が確認された機密データ転送用のトンネルを構築するための暗号要素を提供します。その部分については、同様の技術を使用し、同じ種類の攻撃を受ける可能性があるため、両方が適切に実装されていれば、同様のセキュリティ (つまり、優れたセキュリティ) を提供する必要があります。両方が存在することは、一種の NIH シンドロームです。SSH 開発者は、トンネル部分に SSL を再利用する必要があります (SSL プロトコルは、証明書を使用しないなど、多くのバリエーションに対応できるほど柔軟です)。

彼らはトンネルの周りにあるもので異なります。SSL は伝統的に X.509 証明書を使用して、サーバーとクライアントの公開鍵を通知します。SSH には独自の形式があります。また、SSH には、トンネル内で行われる一連のプロトコル (複数の転送の多重化、トンネル内でのパスワードベースの認証の実行、端末管理など) が付属していますが、SSL にはそのようなものはありません。より正確には、そのようなものは SSL で使用され、SSL の一部とは見なされません (たとえば、SSL トンネルでパスワードベースの HTTP 認証を行う場合、それは「HTTPS」の一部であると言いますが、実際には同様の方法で機能しますSSH で何が起こるか)。

概念的には、SSH を使用して、トンネル部分を SSL のものに置き換えることができます。HTTPS を使用して、SSL を SSH-with-data-transport とフックに置き換えて、証明書からサーバーの公開鍵を抽出することもできます。科学的に不可能なことはありません。適切に行われれば、セキュリティは同じままです。ただし、そのための規則や既存のツールの広範なセットはありません。

したがって、SSL と SSH を同じ目的で使用することはありませんが、これは、セキュリティ関連の違いによるものではなく、歴史的にこれらのプロトコルの実装に付属していたツールによるものです。また、SSL または SSH を実装する人は誰でも、両方のプロトコルで試みられた攻撃の種類を確認することをお勧めします。

推測せずに質問に答えることができるようになりました:-)

于 2013-05-02T16:43:14.063 に答える