Secure Shell
Veraltete Protokolle wie Telnet übertragen im Gegensatz zu SSH sowohl Daten als auch Passwörter unverschlüsselt und sollten daher aus Sicherheitsgründen nicht mehr in öffentlichen Netzwerken wie dem Internet verwendet werden.
Protokolle wie SSH sind dazu gedacht, einen fernen Rechner im Internet durch die Kommandozeile (Eingabeaufforderung) so zu bedienen, als säße man direkt davor. Sie erlauben das betriebssystemeigene Login (Anmelden) eines Benutzers an einem ans Internet oder allgemein angeschlossenen Host-Rechner. Das Anmelden ist nur möglich, wenn Sie Benutzernamen und Passwort kennen, d. h. auf dem angewählten Host-Rechner als Benutzer eingetragen sind. Nach dem Einloggen erhalten Sie eine Shell (Eingabeaufforderung) und können auf dem entfernten Rechner Betriebssystembefehle eingeben, Programme starten usw., wozu natürlich Kenntnisse der Befehle des Host-Rechner-Betriebssystems nötig sind.
SSH gewährleistet auch die Authentizität der Verbindung, indem dem Nutzer der „Fingerabdruck“ des SSH-Schlüssels des Servers zur Bestätigung vorgelegt wird, welcher ihn dann mit den vom Betreiber des SSH-Servers angegebenen Fingerabdruck des Schlüssels vergleichen kann – so ist die verschlüsselte Verbindung vor Manipulationen Dritter (Man-in-the-Middle-Angriff) geschützt.
Kryptografische Schlüssel lassen sich auch als Alternative zur klassischen Authentifizierung mit dem Passwort verwenden, indem der Fingerabdruck des öffentlichen Schlüssels auf dem Server hinterlegt wird und dann bei der Anmeldung nur das Passwort des eigenen privaten Schlüssels angegeben werden muss. Diese Methode bietet besonders bei der Verwendung mehrerer Accounts Vorteile, da Sie sich durch Hinterlegen des Fingerabdrucks des öffentlichen Schlüssels auf allen Servern nur das Passwort des privaten Schlüssels merken müssen.
Der SSH-Dienst wird u. a. für folgende Einsatzgebiete verwendet:
- Fernwartung von PCs und Ausgabe von Betriebsdaten
- Administrieren von (Web-)Servern
- Zugang zu einer entfernten Konsole mit Möglichkeit zur Nutzung sämtlicher Kommandos und Programme, die im Textmodus laufen
Inhaltsverzeichnis
Verbinden mit einem SSH-Server
Unter unixoiden Systemen wie Mac OS, Linux oder BSD ist meist schon ein SSH-Client wie OpenSSH vorinstalliert, wenn nicht, muss er installiert werden. Da bei Windows kein Client mitgeliefert wird, empfiehlt sich die Installation von PuTTY.
SSH-Verbindung über die Shell
Um sich mit einem SSH-Server über die Shell zu verbinden, geben Sie folgende Zeile im Terminal ein:
ssh nutzername@example.org
Nachdem Sie die Eingabe durch Drücken der Eingabe-Taste bestätigt, ggf. den „Fingerabdruck“ des Schlüssel des Servers bestätigt haben und anschließend das SSH-Passwort (aus Sicherheitsgründen wird das Passwort nicht einmal durch Sternchen repräsentiert!) eingegeben haben, sehen Sie den Prompt der Konsole des Servers.
SSH-Verbindungen über PuTTY
Nachdem Sie PuTTY gestartet haben, sollte sich Ihnen folgendes Bild bieten:
Nach Eingabe des Host, auf dem der SSH-Server läuft, und Bestätigung des Buttons Open
wird ggf. nach Bestätigung des SSH-Schlüssels gefragt sowie natürlich nach Nutzernamen und Passwort.
Schließen der Verbindung
Durch Eingabe von exit
wird die Verbindung beendet.
Anwendungsbeispiel
Wenn Sie mit einem Linux- bzw. Unix-Server arbeiten und dort die Programme curl
und tar
vorhanden sind, können Sie sich beispielsweise die aktuelle Version von WordPress mittels curl
direkt auf den Server zu laden und dort per Pipe (|
) an tar
zum Entpacken zu übergeben, statt sie erst auf den eigenen Rechner herunterzuladen, dort zu entpacken und dann erst auf den Server hochzuladen. Dieses Vorgehen spart Ihnen Zeit und Datenvolumen:
curl https://de.wordpress.org/latest-de_DE.tar.gz | tar -xzf -
Siehe auch
Weblinks
- Wikipedia: Secure Shell
- Wikipedia: Secure Copy
- Wikipedia: Telnet
- Wikipedia: PuTTY
- wiki.ubuntuusers.de: Shell
- wiki.ubuntuusers.de: SSH