ホームページ  >  記事  >  SSHとは何ですか?原理の詳細な説明については、この記事を読んでください。

SSHとは何ですか?原理の詳細な説明については、この記事を読んでください。

Linux中文社区
Linux中文社区転載
2023-08-02 17:51:431122ブラウズ

SSHとは何ですか?原理の詳細な説明については、この記事を読んでください。
#SSH( セキュア シェル(Secure Shell) は、暗号化と認証メカニズムを通じて安全なアクセスとファイル転送サービスを実装するネットワーク セキュリティ プロトコルです。 Telnet や FTP などの従来のリモート ログインやファイル転送方法では、プレーン テキストを使用してデータを送信するため、多くのセキュリティ リスクが伴います。人々がネットワーク セキュリティにますます注目するようになるにつれて、これらの方法は徐々に受け入れられなくなりました。 SSH プロトコルは、ネットワーク データを暗号化して検証することにより、安全でないネットワーク環境で安全なログインやその他の安全なネットワーク サービスを提供します。 Telnet やその他の安全でないリモート シェル プロトコルに代わる安全な代替手段として、SSH プロトコルは世界中で広く使用されており、ほとんどのデバイスが SSH 機能をサポートしています。

ディレクトリ

SSH ポート番号は何ですか?

SSH はどのように機能しますか?
PuTTY キーと OpenSSHSSH キーの使用

SSH ポート番号とは何ですか?

SSH が STelnet、SFTP、および SCP に適用される場合、使用されるデフォルトの SSH ポートは 22 です。 SSH が NETCONF に適用される場合、SSH ポートを 22 または 830 に指定できます。 SSH ポートは変更をサポートしています。変更後は、現在の接続がすべて切断され、SSH サーバーは新しいポートのリッスンを開始します。

SSH はどのように機能しますか?

SSH はサーバーとクライアントで構成されます。安全な SSH チャネルを確立するために、通信プロセス全体で次の段階を経ます:

接続の確立

SSH サーバーは、指定されたポートでクライアントの接続要求をリッスンします。クライアントがサーバーへの接続要求を開始すると、両者は TCP 接続を確立します。

バージョン ネゴシエーション

SSH プロトコルは現在、SSH1.X (SSH2.0 より前のバージョン) と SSH2.0 に存在します。 SSH1.X プロトコルと比較して、SSH2.0 プロトコルは構造が拡張されており、サービス機能を向上させながら、より多くの認証方法とキー交換方法をサポートできます。 SSH サーバーとクライアントは、ネゴシエーションを通じて使用される最終的な SSH バージョン番号を決定します。

アルゴリズム ネゴシエーション

SSH は複数の暗号化アルゴリズムをサポートしています。各当事者がサポートするアルゴリズムに基づいて、両当事者はセッション キーとデータ情報: 暗号化された暗号化アルゴリズム、デジタル署名と認証のための公開キー アルゴリズム、およびデータ完全性保護のための HMAC アルゴリズム。 #################################素晴らしい!プライベートな仕事を引き受けるのに不可欠な N オープンソース プロジェクト!

SSHとは何ですか?原理の詳細な説明については、この記事を読んでください。SSHとは何ですか?原理の詳細な説明については、この記事を読んでください。キー交換SSHとは何ですか?原理の詳細な説明については、この記事を読んでください。SSHとは何ですか?原理の詳細な説明については、この記事を読んでください。SSHとは何ですか?原理の詳細な説明については、この記事を読んでください。サーバーとクライアントは、キー交換アルゴリズムを使用して共有セッション キーとセッション ID を動的に生成し、暗号化チャネルを確立します。セッション キーは主に後続のデータ送信の暗号化に使用され、セッション ID は認証プロセス中に SSH 接続を識別するために使用されます。 SSHとは何ですか?原理の詳細な説明については、この記事を読んでください。

ユーザー認証

SSH クライアントはサーバーへの認証リクエストを開始し、サーバーはクライアントを認証します。 SSH は次の認証方法をサポートしています:

  • パスワード認証: クライアントはユーザー名とパスワードを通じて認証し、暗号化されたユーザー名とパスワードをサーバーに送信し、サーバーはそれを復号化します。ローカルに保存されたユーザー名とパスワードが使用され、認証の成功または失敗のメッセージがクライアントに返されます。
  • キー (公開鍵) 認証: クライアントは、ユーザー名、公開鍵、公開鍵アルゴリズム、その他の情報を使用してサーバーを認証します。
  • パスワード-公開キー認証: ユーザーはログインする前にパスワード認証とキー認証の両方を満たす必要があることを意味します。
  • 全認証: パスワード認証とキー認証のいずれかを満たす限り。

セッション リクエスト

認証に合格した後、SSH クライアントはサーバーにセッション リクエストを送信し、サーバーに特定の情報を提供するよう要求します。サービスのタイプ、つまり、サーバーとの対応するセッションの確立を要求します。さらに、パブリック アカウント Linux を検索するときに、バックグラウンドで「Linux」と返信してサプライズ ギフト パッケージを入手する方法を学ぶ必要があります。

セッションの対話

セッションが確立された後、SSH サーバーとクライアントはセッションに関するデータ情報を交換します。

PuTTY と OpenSSH の使用

PuTTY は、Windows 上の古典的な無料の SSH 接続ツールで、通常、SSH プロトコルを使用してデバイスにリモートでログインするために使用されます。最新バージョンは PuTTY 公式 Web サイトからダウンロードできます。

OpenSSH は、SSH プロトコルのオープン ソース実装であり、Unix オペレーティング システムでの実行をサポートしています。最新バージョンは、OpenSSH 公式 Web サイトからダウンロードできます。現在、Windows 10 にはすでに OpenSSH クライアントおよびサーバー ソフトウェアが含まれており、[設定] - [アプリケーション] - [アプリケーションと機能] - [オプションの機能] で検索してインストールできます。

#SSH キー

対称暗号化と非対称暗号化

セキュリティを向上させる基本的な方法は暗号化、暗号化アルゴリズム 平文の変換安全な送信のためにキーを介して暗号文に変換します。 SSH は、作業プロセス中に対称暗号化アルゴリズムと非対称暗号化アルゴリズムを組み合わせて使用​​し、事前に生成された SSH キーを介した情報送信のセキュリティを確保します。 2 つの暗号化アルゴリズムの暗号化と復号化のプロセスを次の図に示します。

SSHとは何ですか?原理の詳細な説明については、この記事を読んでください。

#対称暗号化アルゴリズム



SSHとは何ですか?原理の詳細な説明については、この記事を読んでください。##非対称暗号化アルゴリズム


対称暗号化アルゴリズムは、データの暗号化と復号化に同じキーを使用します。 SSH 接続の確立中に生成されるセッション キーは対称キーであり、共有部分情報と独自のプライベート データに基づいてキー交換アルゴリズムを使用してクライアントとサーバーによって生成されます。対称暗号化アルゴリズムは暗号化と復号化を非常に高速に行うため、大量のデータが送信されるシナリオに適しています。

非対称暗号化された送受信では、関連付けられた SSH キー、公開キーと秘密キーのペアを使用する必要があります。秘密キーはそれを生成した当事者によって保管され、公開キーは通信を要求する他の誰にでも送信できます。送信者は受け取った公開鍵を用いて通信内容を暗号化し、受信者のみが秘密鍵を用いて復号して通信内容を取得することができる。非対称暗号化の秘密鍵はネットワーク上に公開する必要がなく、セキュリティは大幅に向上しますが、暗号化および復号化の速度は対称鍵に比べて大幅に遅くなります。

非対称暗号化は、SSH 接続プロセスの 2 つのフェーズで使用されます。 1 つは、鍵交換フェーズ中に、サーバーとクライアントの両方が独自の一時公開鍵と秘密鍵を生成し、これらの鍵を使用して、後続の暗号化通信コンテンツに使用される同じセッション鍵を計算することです。もう 1 つは、ユーザー認証フェーズ中に、一致する秘密キーのみが公開キーで暗号化されたコンテンツを一意に復号できる機能を使用し、クライアントの公開キーと秘密キーのペアを通じてクライアントの身元を確認することです。

キー認証

SSH ユーザー認証の最も基本的な 2 つの方法は、パスワード認証とキー認証です。パスワード認証は、ユーザー名とパスワードをサーバーに送信して認証する方法で、ログインのたびにユーザー名とパスワードを入力する必要があり、比較的簡単な方法です。キー認証は、公開キーと秘密キーのペアを本人確認に使用して、パスワードを必要としない安全なログインを実現するもので、広く使用されており、推奨されているログイン方法です。キー認証の基本原理は、サーバーがクライアントの公開キーを使用してランダムなコンテンツを暗号化し、クライアントが独自の秘密キーを使用して復号化してサーバーに送信し、身元を確認することです。具体的なプロセスは次の図に示されています。 。

SSHとは何ですか?原理の詳細な説明については、この記事を読んでください。


#SSH キー認証ログイン プロセス

  • SSH 接続を確立する前に、SSH クライアントクライアントは、最初に独自の公開キーと秘密キーのペアを生成し、独自の公開キーを SSH サーバーに保存する必要があります。
  • SSH クライアントがログイン リクエストを送信すると、SSH サーバーはリクエスト内のユーザー名とその他の情報に基づいてクライアントの公開キーをローカルで検索し、この公開キーを使用して乱数を暗号化してクライアントに送信します。
  • クライアントは、独自の秘密キーを使用して返された情報を復号化し、サーバーに送信します。
  • サーバーは、クライアントが復号した情報が正しいかどうかを検証し、正しい場合には認証を通過します。

以上がSSHとは何ですか?原理の詳細な説明については、この記事を読んでください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はLinux中文社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。