SSH-Einführung

ssh Einführung - Sicherer Zugang auf entfernte Rechner


SSH (secure shell) ist ein für den Login auf anderen Rechnern empfohlenes Programm. SSH übermittelt die Login-Informationen (Userid und Passwort) in verschlüsselter Form über das Netzwerk. So kann niemand die Kommunikation im Netz belauschen, vertrauliche Informationen sammeln und diese missbrauchen. ssh sollte anstelle von telnet, rlogin, rsh oder anderen unsicheren Zugangsmethoden für den Login an anderen Rechnern benutzt werden.

Kürzlich hat DESY aus Sicherheitsgründen den unverschlüsselten Remote-Zugang gesperrt. Es sollte stattdessen nur noch ssh benutzt werden. Zusätzlich zu der erhöhten Sicherheit bietet ssh die für eine X11-Verbindung notwendige Umgebung und vereinfacht dadurch vieles.

Einschränkungen
Um ssh zu benutzen, muss beim Anwender ssh installiert sein und ein ssh Dämon auf dem System laufen, mit dem er sich verbinden möchte. Beide Voraussetzungen sind auf allen zentral bei DESY verwalteten Computern erfüllt. Aber nicht auf allen Remote-Rechnern ist ssh installiert, entweder aus mangelndem Interesse oder aus rechtlichen Gründen. Leider gibt es in einigen Ländern rechtliche Einschränkungen, welche die Übermittlung von verschlüsselten Informationen über das Netz betreffen, wodurch die Benutzung von ssh eingeschränkt oder illegal ist. In diesem Fall bekommt der Benutzer Zugang über den Webserver bastion.desy.de. Eine Anleitung hierzu finden Sie unter
http://www.desy.de/rsr/bastion.html

Anwendung von ssh
Es gibt viele Anwendungsmöglichkeiten für den fortgeschrittenen ssh-Nutzer. Die ssh man pages erläutern es ausführlicher, aber ein vollständiges Verständnis des Programms ist für die Benutzung von ssh nicht notwendig. Der Befehl ssh my-remote-host verbindet mit dem fernen System, die meisten Meldungen können ohne Sicherheitsrisiken ignoriert werden.

Wenn ssh gestartet wird, verhandeln Client und Server über die Schlüssel für den sicheren Login auf dem entfernten Rechner. Meldungen von ssh haben mit dem Erzeugen von Schlüsselpaaren sowie damit verbundenen Informationen zu tun.

Technische Aspekte
ssh ist ein Programm, mit dessen Hilfe man sich auf einem entfernten Computer anmelden und dort Befehle ausführen kann. Es ist als Ersatz für rlogin und rsh gedacht und ermöglicht eine sicher verschlüsselte Kommunikation zwischen zwei nicht als vertrauenswürdig eingestuften Rechnern über ein unsicheres Netzwerk. X11-Verbindungen und andere TCP/IP-Ports können ebenfalls über diesen sicheren Kanal weitergeleitet werden. ssh verbindet Rechner und meldet an einem spezifizierten Rechner an. Der Anwender muss sich nun gegenüber dem fernen Rechner identifizieren, wofür es unterschiedliche Methoden gibt.

Wenn der Anwender X11 benutzt (die DISPLAY-Umgebungsvariable ist gesetzt), wird die Verbindung zu dem X11-Display automatisch zu dem entfernten Rechner weitergeleitet, so, dass jedes von der Shell (oder einem Befehl) gestartete X11-Programm durch den verschlüsselten Tunnel weitergeleitet wird; die Verbindung zum tatsächlichen X-Server leistet der lokale Rechner. Der Benutzer sollte DISPLAY nicht manuell einstellen. Das Weiterleiten von X11-Verbindungen kann über die Kommandozeile oder in Konfigurationsdateien erfolgen. Der von ssh eingestellte DISPLAY-Wert verweist auf den Server, jedoch mit einem Display-Wert größer als Null. Dies ist normal und passiert, weil ssh für das Weiterleiten der Verbindung über den verschlüsselten Kanal einen "Proxy"-X-Server auf dem Server generiert. Außerdem stellt ssh auf dem Server die nötigen Xauthority-Daten ein. Für diesen Zweck erzeugt es einen Authorization-Cookie, speichert ihn in Xauthority auf dem Server und stellt sicher, dass jede weitergeleitete Verbindung diesen Cookie trägt und ihn durch das Original ersetzt, sobald die Verbindung geöffnet wird. Der echte Authentisierungs-Cookie wird nie zum Server gesandt (und keine Cookies werden im Klartext versandt). Wenn der Benutzer einen Authentisierungsagenten benutzt, wird die Verbindung zu dem Agenten automatisch zu dem Server weitergeleitet, wenn dies nicht über die Kommandozeile oder eine Konfigurationsdatei anders eingestellt wird.

ssh-basierte Programme
Es gibt eine große Spannweite von Programmen, die auf ssh basieren, wie z.B. scp (anstatt rcp) oder slogin (anstatt rlogin). Diese Programme bieten die Funktionalität von traditionellen Befehlen sowie die Sicherheit von ssh. Sie können und sollen wann immer möglich benutzt werden.

Unverständliche Warnhinweise
Es kann vorkommen, dass Sie sonderbare Warnungen von ssh erhalten, wenn Sie auf einem Workgroup Server bei DESY arbeiten, mit dem Hinweis, dass die so genannten Hostkeys geändert wurden oder dass Sie von jemandem belauscht würden. Diese Warnung steht normalerweise im Zusammenhang mit dem Anmelden auf Netzwerkrechnern, wie z.B. pal, solar oder ähnlichen und zeigt fehlende Daten in der Systemkonfiguration an. Falls dieser Fall eintritt, melden Sie es bitte dem UCO (uco@desy.de), und wir werden die Konfigurationsprobleme beheben.

Wie bekomme ich ssh bei DESY?
Genaue Informationen hierzu finden Sie unter http://www.desy.de/rsr/ssh.html