Secure Shell: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) |
Michi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Die <b>Secure Shell / SSH</b> ist ein [[Netzwerkprotokoll]], mit dem man sich über eine verschlüsselte [[Rechnernetz]]-Verbindung auf einem entfernten [[Rechner]] anmelden und dort Programme ausführen kann. Es ist damit eine sichere Alternative zum Konsolenzugang über [[telnet]] und gilt als de-facto-Standard für die Remote-Verwaltung von Unix-Systemen. Die Client/Server-Architektur von SSH basiert auf dem Gespann TCP/IP. Die [[IANA]] hat dem Protokoll den [[TCP]]-Port 22 zugeordnet. | Die <b>Secure Shell / SSH</b> ist ein [[Netzwerkprotokoll]], mit dem man sich über eine verschlüsselte [[Rechnernetz]]-Verbindung auf einem entfernten [[Rechner]] anmelden und dort Programme ausführen kann. Es ist damit eine sichere Alternative zum Konsolenzugang über [[telnet]] und gilt als de-facto-Standard für die Remote-Verwaltung von Unix-Systemen. Die Client/Server-Architektur von SSH basiert auf dem Gespann TCP/IP. Die [[IANA]] hat dem Protokoll den [[TCP]]-Port 22 zugeordnet. | ||
Das bekannteste Programm zur Nutzung von SSH unter [[Linux]] heisst [[ssh (Shell-Befehl)|ssh]]. | Das bekannteste Programm zur Nutzung von SSH unter [[Linux]] heisst [[ssh (Shell-Befehl)|ssh]] aus dem Openssh-Paket. Daneben gibt es inzwischen auch webbasierte SSH-Clients, darunter anyterm und [[ajaxterm]]. | ||
Ein SSH-Server für [[Microsoft Windows]] ist in der Programmsammlung [http://www.cygwin.com/ Cygwin] enthalten, die Windows zugleich um eine [[Unix]]-Umgebung und viele Befehlszeilenwerzeuge erweitert. Als SSH-Client ist [[Putty]] gut geeignet. | Ein SSH-Server für [[Microsoft Windows]] ist in der Programmsammlung [http://www.cygwin.com/ Cygwin] enthalten, die Windows zugleich um eine [[Unix]]-Umgebung und viele Befehlszeilenwerzeuge erweitert. Als SSH-Client ist [[Putty]] gut geeignet. |
Version vom 18. Juli 2009, 20:29 Uhr
Die Secure Shell / SSH ist ein Netzwerkprotokoll, mit dem man sich über eine verschlüsselte Rechnernetz-Verbindung auf einem entfernten Rechner anmelden und dort Programme ausführen kann. Es ist damit eine sichere Alternative zum Konsolenzugang über telnet und gilt als de-facto-Standard für die Remote-Verwaltung von Unix-Systemen. Die Client/Server-Architektur von SSH basiert auf dem Gespann TCP/IP. Die IANA hat dem Protokoll den TCP-Port 22 zugeordnet.
Das bekannteste Programm zur Nutzung von SSH unter Linux heisst ssh aus dem Openssh-Paket. Daneben gibt es inzwischen auch webbasierte SSH-Clients, darunter anyterm und ajaxterm.
Ein SSH-Server für Microsoft Windows ist in der Programmsammlung Cygwin enthalten, die Windows zugleich um eine Unix-Umgebung und viele Befehlszeilenwerzeuge erweitert. Als SSH-Client ist Putty gut geeignet.
Protokollversionen
Die Secure Shell stellt zur Zeit die Protokollversionen 1.3, 1.5 und 2 bereit. Gegenüber der Version 2 fallen die Möglichkeiten der Reihe 1 sehr beschränkt aus.
Secure Shell Version 1 / SSH1 | Secure Shell Version 2 / SSH2 | |
---|---|---|
Verschlüsselungsalgorithmen | Dürftiges Angebot (u. a. das unsichere DES oder das sichere aber langsame 3DES, sowie das schnelle und sichere Blowfish). Lücken im Protokoll ermöglichen theoretisch ein Knacken des Protokolls. | Zusätzlich AES und weitere. |
Geschwindigkeit | deutlich langsamer | |
Aushandeln des Schlüssels | Clientseitig erzeugte Schlüssel (engl. keys). Der SSH-Server sendet seinen öffentlichen Schlüssel an den SSH-Client. Dieser erzeugt eine zufällige 156 Bit lange Zahl, verschlüsselt diese mit dem öffentlichen Schlüssel und sendet das Ergebnis an den SSH-Server. Fortan läuft der Datenstrom mit dieser übermittelten Zufallszahl verschlüsselt ab. Schneidet ein Lauscher diese Kommunikation mit, befindet er sich im Besitz des (verschlüsselten) Schlüssels. Mittels Ausprobieren aller Möglichkeiten (Brute Force-Methode) kann es gelingen, den Schlüssel zu ermitteln - im Schnitt dauert das allerdings mehrere Jahre... | Einsatz des Diffi-Hellman-Verfahrens, bei dem der eigentliche Schlüssel nie hin und her geht. SSH-Server und -Client übertragen lediglich Daten, die es den Verbindungspartnern ermöglichen, unabhängig voneinander den gleichen Schlüssel zu errechnen. Einem Lauscher nützen diese Daten nichts, da ihm die Werte zum Berechnen des Schlüssels fehlen. Dieses Verfahren zur Schlüsselgenerierung ist wesentlich sicherer, da keiner der beiden Verbindungspartner den Schlüssel alleine bestimmt. |
Datenintegritätsprüfung | CRC-Verfahren (Cyclic Redundancy Check), welches als betagt und unzuverlässig gilt. | Kryptologische Hashes (Message Authentication Code-Verfahren) |
Multiplexing (dabei übertragen beide Seiten die Daten scheinbar gleichzeitig) |
Läuft besser. | |
Weitere Funktionen | Datenübertragung per SFTP. |
Tunneln: SSH über HTTP
Auf dem Webrechner läuft ein Werkzeug, das SSH über HTTP verlegt. Solche Remote-Werkzeuge gibt es jede Menge:
- Anyterm - A terminal anywhere - mit einer angestaubten, aber brauchbaren Liste
- Weirdmind