web-dev-qa-db-ja.com

SSHとSSLの違い、特に「SFTP」対「FTP over SSL」の点で

SSHが提供する拡張認証オプションとは別に、SSHプロトコルとSSLプロトコルの基本的な動作に違いはありますか?

[〜#〜] sftp [〜#〜] またはFTP over SSLを使用できるため、どちらも認証が必要になるため、私は尋ねています。

41
np-hard

SSHとSSLは類似のプロトコルであり、どちらも内部で同じ暗号化プリミティブのほとんどを使用するため、どちらも互いに安全です。 SSHの利点の1つは、キーペア認証の使用が実際には非常に簡単であり、プロトコルに直接組み込まれていることです。

SSLを使用すると、CA証明書などを含む少し複雑な作業になります。 PKIを配置した後、内部パスワードデータベースの代わりにPKIを認証に使用するようにサービスを構成する必要もあります。これは一部のサービスでは悪夢であり、他のサービスではケーキです。また、ユーザーのすべてのキーにサインインする手間をかけ、ユーザーがそれらのキーでログインできるようにする必要があることも意味します。

ほとんどの有能なユーザーはSSHキーをすぐに手に入れることができますが、SSLキーを回避するのに少し時間がかかります(追加のCA証明書とキー証明書は、最初に発見したときに私を混乱させました)。

サポート可能なものを選択してください。 SSH + SFTPはUnixのユーザーには最適ですが、ユーザーがWindowsベースであり、Internet Exploiter以外の何も知らない場合は、おそらくSSLを介したFTPの方が簡単です(そして、ユーザーが安全でないパスワードを選択するリスクは気にしません) )。

19
Adam Hawes

SSHとSSLの違いは何ですか?

SSLは「Secure Sockets Layer」の略です。ブラウザーがWebサーバーとの間で安全な暗号化方式でデータを送受信できるため、すべてのインターネットトラフィックを監視するサードパーティのスパイが苦労するため、私たちは気をつけています。

SSHは「Secure Shell」の略です。ネットワーク化されたコンピューター1がネットワーク化されたコンピューター2のシェルへのアクセスを提供できるため、注意が必要です。セキュリティで保護されていないチャネルを傍受するスパイが、ネットワークに接続されたコンピューター間で送信されたデータを解読できないという自信のレベル.

SSLとSSHはどちらも、安全でないチャネルでデータを暗号化および復号化するシステムを提供することに関係しています。

ブラウザが「https://」で始まるURLにアクセスすると、ブラウザはSSL接続でHTTPを読み上げます。

SSL対応のWebサーバー(たとえば、 Apache HTTP Server )は、SSLを使用して「安全なWebサーバー」になるように設定できます。安全なWebサーバーが提供するWebサイトでは、ユーザーは「http://」ではなく「https://」プロトコルを使用してURLにアクセスします。 httpsプロトコルを使用すると、ユーザーは、インターネットチャネルを監視するサードパーティのスパイが暗号化されたコンテンツのみを受信するという自信を得ることができます。

SSLは、 OSIモデル の第6層(プレゼンテーション層)に実装できるプロトコルです。

SSHにはSSLから独立した独自のトランスポートプロトコルがあるため、SSHは内部でSSLを使用しません。

暗号的には、Secure ShellとSecure Sockets Layerはどちらも等しく安全です。

SSL終了プロキシ は、着信SSL接続を処理し、SSLを復号化し、暗号化されていない要求を他のサーバーに渡すことができます。

SSLでは、署名された証明書を介して PKI(公開鍵インフラストラクチャ) を使用できます。 SSHでは、ftpやcarrier pigeonなどの別のプロトコルを介してキーフィンガープリントを手動で交換する必要があります。

47
Eric Leschinski

主な違いは、SSLを使用すると、PKIを(署名付き証明書を介して)使用できることです。 SSHでは、キーフィンガープリントを帯域外で交換する必要があります。しかし、とにかくPKIなしでやりたいかもしれません。その場合、それは同点です。

わかりやすい説明については、 http://www.snailbook.com/faq/ssl.auto.html を参照してください

26
sleske

暗号的には、両方とも同等に安全です(同じ暗号が使用されている場合)。それ以外は、まったく異なるプロトコルです...

20
Serguei

まず、TLSサーバー認証は完全に匿名のサーバー認証をサポートするため、TLSサーバー認証はオプションです。 SSHでは、これは必須です。

TLSは、クライアントとサーバーの認証にX.509証明書を使用します。これには、何らかのPKIが必要になります。 SSHはこの点では拡張できませんが、パスワード、公開キーなどのより広範な認証方法を提供します。

もう1つの違いは、SSHは複数の接続を許可し、リモートプログラムの実行、端末管理、TCPトンネリングなど)をサポートすることです。

5
FrankH