Einführung | Ich dachte, dass SSH in zwei Versionen 1 und 2 existiert (SSH1 und SSH2). Was ist der Unterschied zwischen diesen beiden? Und wie kann ich die SSH-Protokollversion unter Linux überprüfen? |
Secure Shell (SSH) ermöglicht die Remote-Anmeldung oder Remote-Ausführung von Befehlen über einen verschlüsselten sicheren Kommunikationskanal. SSH soll unsichere Klartextprotokolle wie Telnet, RSH und Rlogin ersetzen. SSH bietet eine Reihe erforderlicher Funktionen wie Authentifizierung, Verschlüsselung, Datenintegrität, Autorisierung und Weiterleitung/Tunneling.
SSH1 vs. SSH2Es gibt einige geringfügige Versionsunterschiede in der SSH-Protokollspezifikation, es gibt jedoch zwei Hauptversionen: SSH1 (Version 1.XX) und SSH2 (Version 2.00).
Tatsächlich sind SSH1 und SSH2 zwei völlig unterschiedliche und inkompatible Protokolle. SSH2 verbessert viele Aspekte von SSH1 erheblich. Erstens ist SSH ein Makrodesign, das in einem einzigen Protokoll zusammengefasst ist. SSH2 bietet leistungsfähigere Sicherheitsfunktionen wie MAC-basierte Integritätsprüfung und flexible Sitzungsschlüsselaktualisierungen , vollständig ausgehandelte Verschlüsselungsalgorithmen, Public-Key-Zertifikate und mehr.
SSH2 ist von der IETF standardisiert und seine Implementierung ist in der Branche weit verbreitet und akzeptiert. Aufgrund der Beliebtheit und der Verschlüsselungsvorteile von SSH2 gegenüber SSH1 haben viele Produkte die Unterstützung für SSH1 eingestellt. Zum Zeitpunkt des Verfassens dieses Artikels unterstützt OpenSSH noch SSH1 und SSH2, allerdings deaktivieren OpenSSH-Server in allen modernen Linux-Distributionen SSH1 standardmäßig.
Methode 1Wenn Sie die vom lokalen OpenSSH-Server unterstützte SSH-Protokollversion überprüfen möchten, können Sie sich die Datei /etc/ssh/sshd_config ansehen. Öffnen Sie /etc/ssh/sshd_config mit einem Texteditor und sehen Sie sich das Feld „Protokoll“ an.
Wenn es wie folgt angezeigt wird, bedeutet dies, dass der Server nur SSH2 unterstützt.
Protocol 2
Wenn es wie folgt angezeigt wird, bedeutet dies, dass der Server sowohl SSH1 als auch SSH2 unterstützt.
Protocol 1
Wenn Sie nicht auf /etc/ssh/sshd_config zugreifen können, weil der OpenSSH-Dienst auf einem Remote-Server ausgeführt wird. Sie können einen SSH-Client namens ssh verwenden, um die unterstützten Protokolle zu überprüfen. Konkret zwingt es SSH dazu, ein bestimmtes SSH-Protokoll zu verwenden, und dann überprüfen wir die Antwort des SSH-Servers.
Der folgende Befehl zwingt ssh dazu, SSH1 zu verwenden:
ssh -1 user@remote_server
Der folgende Befehl zwingt ssh dazu, SSH2 zu verwenden:
ssh -2 user@remote_server
Wenn der Remote-SSH-Server nur SSH2 unterstützt, wird die erste Option mit „-1“ wie die folgende Fehlermeldung angezeigt:
Protocol major versions differ: 1 vs. 2
Wenn der SSH-Server sowohl SSH1 als auch SSH2 unterstützt, sind beide Befehle gültig.
Methode 3Eine andere Möglichkeit, die Version zu überprüfen, besteht darin, ein SSH-Scan-Tool namens scanssh auszuführen. Dieses Befehlszeilentool ist nützlich, wenn Sie eine Gruppe von IP-Adressen oder ein gesamtes lokales Netzwerk überprüfen möchten, um einen SSH1-kompatiblen SSH-Server zu aktualisieren.
Das Folgende ist die grundlegende Syntax zum Scannen der SSH-Version.
sudo scanssh -s ssh -n [ports] [IP addresses or CIDR prefix]
Mit der Option „-n“ kann der zu scannende SSH-Port angegeben werden. Sie können die Duhao-Trennung verwenden, um mehrere Ports zu scannen. Ohne diese Option scannt scanssh standardmäßig Port 22.
Verwenden Sie den folgenden Befehl, um den SSH-Server im lokalen Netzwerk 192.168.1.0/24 zu erkennen und die Version des SSH-Protokolls v zu überprüfen:
sudo scan -s ssh 192.168.1.0/24
Wenn scanssh „SSH-1.XX-XXXX“ für eine bestimmte IP-Adresse meldet, bedeutet dies, dass die vom entsprechenden SSH-Server mindestens unterstützte Version SSH1 ist. Wenn der Remote-Server nur SSH2 unterstützt, zeigt scanssh „SSH-2.0-“ an. XXXX".
Das obige ist der detaillierte Inhalt vonSo überprüfen Sie die SSH-Version im Linux-System. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!