AA_encrypted_mamapo_123rf_71299254.jpg

© Mamapo, 123RF

Die Secure Shell im praktischen Einsatz

Sicherer Transfer

Die Secure Shell bietet alles, was Sie für den sicheren Shell-Zugriff und verschlüsselte Datenübertragungen benötigen.

Die Secure Shell Ssh gilt heute als Standard für Shell-Sitzungen auf entfernten Rechnern. Sie verschlüsselt die Verbindung zum entfernten System, als Identifikation dient in der Regel ein mit Kennwort versehener Schlüssel.

Ssh bietet aber mehr als nur den sicheren Zugriff aus der Ferne: Bei Bedarf transferieren Sie damit Daten oder starten GUI-Programme von anderen unixoiden Systemen. Für den Zugriff auf Microsoft-Betriebssysteme benötigen Sie ein Programm wie Putty. Bei vielen Befehlen rund um Ssh dürfen Sie einen vom Standard 22 abweichenden Port angeben. Die wichtigsten Optionen für den Ssh-Befehl fasst die Tabelle "Ssh: Optionen" zusammen.

Ssh: Optionen

Syntax Hinweis
-2 nur Protokollversion 2
-4 nur IPv4-Adressen
-6 nur IPv6-Adressen
-b IP IP-Adresse verwenden
-C Kompression benutzen
-F Datei abweichende Konfigurationsdatei
-i Datei Angabe der Private-Key-Datei
-p Port abweichende Portnummer
-v Ausgabe aller Meldungen
-t für interaktive Menüs
-W Rechner:Port Weiterleiten der Standardein- und -ausgabe vom lokalen System zum entfernten System
-X Display umleiten im geschützten Netz
-Y Display geschützt umleiten
-N für Tunnelzwecke, kein Kommando

Arbeit mit Schlüsseln

Selbst wenn Sie keine Schlüssel erzeugen, legt der SSH-Client jene der Gegenstelle im Ordner .ssh im Home-Verzeichnis ab. In diesem Verzeichnis finden Sie außerdem verschiedene Dateien, die für den Betrieb der Software nötig sind (siehe Tabelle "SSH-Client"). Möchten Sie Ihren SSH-Server gegen den Versuch eines Einbruchs robuster machen, bearbeiten Sie dazu dessen Konfigurationsdatei sshd.config. Dort setzen Sie die relevanten Einträge aus der Tabelle "Mehr Sicherheit" entsprechend Ihrer Vorstellungen.

SSH-Client

Dateiname Inhalt
config benutzerdefinierte Einstellungen, überschreibt die systemweiten Settings
known_hosts Liste der Systeme, mit denen bereits eine SSH-Verbindung bestand und deren Schlüssel Sie akzeptiert haben
authorized_keys öffentliche Schlüssel (wenn der Rechner als Server fungiert)
id_rsa privater Schlüssel
id_rsa.pub öffentlicher Schlüssel

Mehr Sicherheit

Schlüssel Eintrag/Hinweis
PermitRootLogin no Root-Zugang unterbinden
AllowGroups Gruppe nur Benutzer in Gruppe dürfen sich anmelden
AllowUsers User nur Benutzer User darf sich anmelden
PasswordAuthentication no unterbindet Anmelden via Passwort
ChallengeResponseAuthentication no nur über die Schlüssel anmelden
PermitEmptyPasswords no keine leeren Kennwörter erlauben
Port Nummer abweichenden Port festlegen (Standard: 22)
ListenAddress IP Netzwerkschnittstelle benutzen, je IP-Adresse eine Zeile
MaxSessions auf kritischen Systemen so niedrig wie möglich (1)
MaxStartups auf kritischen Systemen so niedrig wie möglich (1)

Schlüssel ohne Kennwort

Das Anmelden ausschließlich per Schlüssel ohne Kennwort stellt die technisch simpelste Methode zum automatischen Übertragen von Daten und für komfortable Logins dar. Sie sollten sie allerdings nur innerhalb geschützter Netze verwenden, keinesfalls über das Internet (außer Sie arbeiten via VPN oder über einen SSH-Tunnel).

Zum Anlegen eines Schlüssels nutzen Sie den Shell-Befehl Ssh-keygen (Abbildung 1). Dabei geben Sie zusätzlich mit der Option -t Typ (hier: RSA) den Typ des Schlüssels und mittels -b Bits (hier: 4096) die Schlüssellänge an. Je höher die Schlüssellänge, umso schwerer fällt es einem Angreifer, die Kommunikation zu knacken. Beim Prompt für das Passwort drücken Sie die Eingabetaste.

Abbildung 1: Ein Schlüssel ohne Passwort erleichtert zwar den automatisierten Transfer von Daten, birgt aber Risiken in Bezug auf die Sicherheit.

Im Verzeichnis ~/.ssh/ befinden sich daraufhin die beiden Dateien id_rsa und id_rsa.pub. Die erste enthält den privaten Teil des Schlüssels; schützen Sie diesen unbedingt vor dem Zugriff Dritter. Die zweite enthält den öffentlichen Schlüssel, den Sie bei Bedarf auf andere Rechner übertragen. Prüfen Sie in jedem Fall die Attribute der Schlüsseldateien.

Nur Sie selbst dürfen die Rechte zum Lesen und Schreiben besitzen, die Gruppe und alle anderen sollten keinerlei Rechte haben. Gegebenenfalls ändern Sie das mithilfe des Befehls chmod 600 ~/.ssh/*. Für öffentlich zugängliche Server schützen Sie das Kennwort im privaten Teil des Schlüssels, indem Sie diesen mittels des Openssl-Befehls in ein anderes Format umwandeln, etwa PKCS#8. Näheres dazu entnehmen Sie der Manpage des Tools.

Möchten Sie einen Schlüssel mit Kennwort erzeugen, funktioniert das auf demselben Weg wie ohne Vergabe eines Passworts. An der entsprechenden Stelle geben Sie dann die gewünschte Zeichenkette ein, statt die Abfrage mit der Eingabetaste zu überspringen. Damit erhalten Sie einen schon guten Schutz. Selbst wenn einem Eindringling Ihr privater Schlüssel in die Hände fällt, kann er sich dann ohne Passwort trotzdem nicht am entfernten System anmelden.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Aber sicher!
    Sicheres Arbeiten auf entfernten Rechnern und verschlüsselte Datenübertragung – das alles und noch viel mehr bietet SSH.
  • Know-how für die Kommandozeile
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sich manche Aufgabe schneller bewältigen lässt als in grafischen Programmen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
  • Daten sicher teilen
    Beim Datenzugriff auf entfernte Rechner kombinieren SSH-basierte Dateisysteme einfache Konfiguration und sichere Verschlüsselung.
  • Zu Befehl: ssh, scp
    Die klassischen Unix-Programme Telnet und FTP erlauben Verbindungen und Datei-Transfers zu anderen Rechnern im Netz, sind aber unsicher: Alle Daten werden unverschlüsselt übertragen. Deswegen verwenden man heute die SSH-Tools (Secure Shell), die das Gleiche ermöglichen, dabei aber durch Verschlüsselung für Sicherheit sorgen.
  • Sichere Verbindungen mit SSH
    Die Secure Shell SSH kann weit mehr, als ihr Name vermuten lässt: Ob verschlüsselte Tunnel zwischen mehreren Computern oder grafische Anwendungen via LAN – das Mehrzweckwerkzeug lässt kaum Wünsche offen.
Kommentare

Infos zur Publikation

LU 03/2018 NEUE DISTRIBUTIONEN

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Internet abschalten
Karl-Heinz Hauser, 20.02.2018 20:10, 0 Antworten
In der Symbolleiste kann man das Kabelnetzwerk ein und ausschalten. Wie sicher ist die Abschaltu...
JQuery-Script läuft nicht mit Linux-Browsern
Stefan Jahn, 16.02.2018 12:49, 2 Antworten
Hallo zusammen, ...folgender goldener Code (ein jQuery-Script als Ergebnis verschiedener Exper...
XSane-Fotokopie druckt nicht mehr
Wimpy *, 30.01.2018 13:29, 2 Antworten
openSuse 42.3 KDE 5.8.7 Seit einem Software-Update druckt XSane keine Fotokopie mehr aus. Fehler...
TOR-Browser stürzt wegen Wikipedia ab
Wimpy *, 27.01.2018 14:57, 0 Antworten
Tor-Browser 7.5 based on Mozilla Firefox 52.8.0 64-Bit. Bei Aufruf von http: oder https://de.wi...
Wifikarte verhindert Bootvorgang
Maik Kühn, 21.01.2018 22:23, 1 Antworten
iwlwifi-7265D -26 failed to load iwlwifi-7265D -25 failed to load iwlwifi-7265D -24 failed to l...