SSH はどのように機能しますか?
PuTTY キーと OpenSSHSSH キーの使用
SSH が STelnet、SFTP、および SCP に適用される場合、使用されるデフォルトの SSH ポートは 22 です。 SSH が NETCONF に適用される場合、SSH ポートを 22 または 830 に指定できます。 SSH ポートは変更をサポートしています。変更後は、現在の接続がすべて切断され、SSH サーバーは新しいポートのリッスンを開始します。
SSH はサーバーとクライアントで構成されます。安全な SSH チャネルを確立するために、通信プロセス全体で次の段階を経ます:
SSH サーバーは、指定されたポートでクライアントの接続要求をリッスンします。クライアントがサーバーへの接続要求を開始すると、両者は TCP 接続を確立します。
SSH プロトコルは現在、SSH1.X (SSH2.0 より前のバージョン) と SSH2.0 に存在します。 SSH1.X プロトコルと比較して、SSH2.0 プロトコルは構造が拡張されており、サービス機能を向上させながら、より多くの認証方法とキー交換方法をサポートできます。 SSH サーバーとクライアントは、ネゴシエーションを通じて使用される最終的な SSH バージョン番号を決定します。
SSH は複数の暗号化アルゴリズムをサポートしています。各当事者がサポートするアルゴリズムに基づいて、両当事者はセッション キーとデータ情報: 暗号化された暗号化アルゴリズム、デジタル署名と認証のための公開キー アルゴリズム、およびデータ完全性保護のための HMAC アルゴリズム。 #################################素晴らしい!プライベートな仕事を引き受けるのに不可欠な N オープンソース プロジェクト!
キー交換サーバーとクライアントは、キー交換アルゴリズムを使用して共有セッション キーとセッション ID を動的に生成し、暗号化チャネルを確立します。セッション キーは主に後続のデータ送信の暗号化に使用され、セッション ID は認証プロセス中に SSH 接続を識別するために使用されます。
SSH クライアントはサーバーへの認証リクエストを開始し、サーバーはクライアントを認証します。 SSH は次の認証方法をサポートしています:
認証に合格した後、SSH クライアントはサーバーにセッション リクエストを送信し、サーバーに特定の情報を提供するよう要求します。サービスのタイプ、つまり、サーバーとの対応するセッションの確立を要求します。さらに、パブリック アカウント Linux を検索するときに、バックグラウンドで「Linux」と返信してサプライズ ギフト パッケージを入手する方法を学ぶ必要があります。
セッションが確立された後、SSH サーバーとクライアントはセッションに関するデータ情報を交換します。
PuTTY は、Windows 上の古典的な無料の SSH 接続ツールで、通常、SSH プロトコルを使用してデバイスにリモートでログインするために使用されます。最新バージョンは PuTTY 公式 Web サイトからダウンロードできます。
OpenSSH は、SSH プロトコルのオープン ソース実装であり、Unix オペレーティング システムでの実行をサポートしています。最新バージョンは、OpenSSH 公式 Web サイトからダウンロードできます。現在、Windows 10 にはすでに OpenSSH クライアントおよびサーバー ソフトウェアが含まれており、[設定] - [アプリケーション] - [アプリケーションと機能] - [オプションの機能] で検索してインストールできます。
##非対称暗号化アルゴリズム
対称暗号化アルゴリズムは、データの暗号化と復号化に同じキーを使用します。 SSH 接続の確立中に生成されるセッション キーは対称キーであり、共有部分情報と独自のプライベート データに基づいてキー交換アルゴリズムを使用してクライアントとサーバーによって生成されます。対称暗号化アルゴリズムは暗号化と復号化を非常に高速に行うため、大量のデータが送信されるシナリオに適しています。
非対称暗号化された送受信では、関連付けられた SSH キー、公開キーと秘密キーのペアを使用する必要があります。秘密キーはそれを生成した当事者によって保管され、公開キーは通信を要求する他の誰にでも送信できます。送信者は受け取った公開鍵を用いて通信内容を暗号化し、受信者のみが秘密鍵を用いて復号して通信内容を取得することができる。非対称暗号化の秘密鍵はネットワーク上に公開する必要がなく、セキュリティは大幅に向上しますが、暗号化および復号化の速度は対称鍵に比べて大幅に遅くなります。
非対称暗号化は、SSH 接続プロセスの 2 つのフェーズで使用されます。 1 つは、鍵交換フェーズ中に、サーバーとクライアントの両方が独自の一時公開鍵と秘密鍵を生成し、これらの鍵を使用して、後続の暗号化通信コンテンツに使用される同じセッション鍵を計算することです。もう 1 つは、ユーザー認証フェーズ中に、一致する秘密キーのみが公開キーで暗号化されたコンテンツを一意に復号できる機能を使用し、クライアントの公開キーと秘密キーのペアを通じてクライアントの身元を確認することです。
SSH ユーザー認証の最も基本的な 2 つの方法は、パスワード認証とキー認証です。パスワード認証は、ユーザー名とパスワードをサーバーに送信して認証する方法で、ログインのたびにユーザー名とパスワードを入力する必要があり、比較的簡単な方法です。キー認証は、公開キーと秘密キーのペアを本人確認に使用して、パスワードを必要としない安全なログインを実現するもので、広く使用されており、推奨されているログイン方法です。キー認証の基本原理は、サーバーがクライアントの公開キーを使用してランダムなコンテンツを暗号化し、クライアントが独自の秘密キーを使用して復号化してサーバーに送信し、身元を確認することです。具体的なプロセスは次の図に示されています。 。
以上がSSHとは何ですか?原理の詳細な説明については、この記事を読んでください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。