ホームページ >運用・保守 >Linuxの運用と保守 >LinuxでSSHのバージョンを確認する方法
確認方法: 1. テキストエディタで「/etc/ssh/sshd_config」を開き、「プロトコル」欄を確認し、「プロトコル 2」と表示されていれば、サーバーは SSH2 のみをサポートしています。 「プロトコル 1」と表示される サーバーが両方を同時にサポートしていることを意味します。 2. ssh に特定の SSH プロトコルの使用を強制し、SSH サーバーの応答を確認して判断します。 3. 「sudo scanssh -s ssh ip address」という構文で scanssh ツールを使用します。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Secure Shell (SSH) を使用すると、暗号化された安全な通信チャネルを介してリモート ログインまたはコマンドのリモート実行が可能になります。 SSH は、telnet、rsh、rlogin などの安全でないプレーンテキスト プロトコルを置き換えるように設計されています。 SSH は、認証、暗号化、データの整合性、認可、転送/トンネリングなど、多くの必要な機能を提供します。
SSH には 2 つのバージョン 1 と 2 (SSH1 と SSH2) が存在します。これら 2 つの違いは何ですか? Linux で SSH プロトコルのバージョンを確認するにはどうすればよいですか?
SSH1 と SSH2
SSH プロトコル仕様にはマイナーなバージョンの違いがいくつかありますが、主なメジャー バージョンは 2 つあります。 SSH1 (バージョン 1.XX) および SSH2 (バージョン 2.00)。
実際、SSH1 と SSH2 はまったく異なる 2 つのプロトコルであり、互換性がありません。 SSH2 は、SSH1 の多くの側面を大幅に改善します。まず、SSH はマクロ設計です。複数の異なる機能 (認証、送信、接続など) が 1 つのプロトコルにパッケージ化されています。SSH2 は、MAC ベースの整合性チェック、柔軟なセッション キーの更新など、SSH1 よりも強力なセキュリティ機能をもたらします。 、完全にネゴシエートされた暗号化アルゴリズム、公開キー証明書など。
SSH2 は IETF によって標準化されており、その実装は業界で広く導入され、受け入れられています。 SSH2 の人気と SSH1 に対する暗号化の利点により、多くの製品が SSH1 のサポートを終了しました。この記事の執筆時点では、OpenSSH はまだ SSH1 と SSH2 をサポートしていますが、最新のすべての Linux ディストリビューションでは、OpenSSH サーバーはデフォルトで SSH1 を無効にしています。
Linux の SSH バージョンの確認
方法 1
ローカルの OpenSSH サーバーを確認する場合SSH プロトコルのバージョンについては、/etc/ssh/sshd_config ファイルを参照してください。テキストエディタで /etc/ssh/sshd_config を開き、「プロトコル」フィールドを確認します。
次のように表示された場合、サーバーは SSH2 のみをサポートしていることを意味します。
Protocol 2
次のように表示されている場合は、サーバーが SSH1 と SSH2 の両方をサポートしていることを意味します。
Protocol 1
方法 2
OpenSSH サービスがリモート サーバーで実行されているために /etc/ssh/sshd_config にアクセスできない場合。 ssh と呼ばれる SSH クライアントを使用して、サポートされているプロトコルを確認できます。具体的には、ssh に特定の SSH プロトコルの使用を強制し、SSH サーバーの応答をチェックします。
次のコマンドは、ssh に SSH1 の使用を強制します:
ssh -1 user@remote_server
次のコマンドは、ssh に SSH2 の使用を強制します:
ssh -2 user@remote_server
リモート SSH サーバーが SSH2 のみをサポートしている場合は、最初の「 -1」オプションを使用すると、次のようなエラー メッセージが表示されます。
Protocol major versions differ: 1 vs. 2
SSH サーバーが SSH1 と SSH2 の両方をサポートしている場合、両方のコマンドが有効です。
方法 3
バージョンを確認するもう 1 つの方法は、scanssh という SSH スキャン ツールを実行することです。このコマンド ライン ツールは、IP アドレスのグループまたはローカル ネットワーク全体をチェックして SSH1 互換の SSH サーバーをアップグレードする場合に便利です。
以下は、基本的な SSH バージョンのスキャン構文です。
sudo scanssh -s ssh -n [ports] [IP addresses or CIDR prefix]
「-n」オプションでは、スキャンする SSH ポートを指定できます。 Duhao 分離を使用して複数のポートをスキャンできます。このオプションを使用しない場合、scanssh はデフォルトでポート 22 をスキャンします。
次のコマンドを使用して、192.168.1.0/24 ローカル ネットワーク内の SSH サーバーを検出し、SSH プロトコルのバージョンを確認します:
sudo scan -s ssh 192.168.1.0/24
If scanssh特定の IP アドレスが「SSH-1.XX-XXXX」を報告することは、関連付けられた SSH サーバーでサポートされる最小バージョンが SSH1 であることを意味します。リモート サーバーが SSH2 のみをサポートする場合、scanssh は「SSH-2.0-XXXX」と表示します。
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinuxでSSHのバージョンを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。