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 12/2017: Perfekte Videos

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

Broadcom Adapter 802.11n nachinstallieren
Thomas Mengel, 31.10.2017 20:06, 2 Antworten
Hallo, kann man nachträglich auf einer Liveversion, MX Linux auf einem USB-Stick, nachträglich...
RUN fsck Manually / Stromausfall
Arno Krug, 29.10.2017 12:51, 1 Antworten
Hallo, nach Absturz des Rechners aufgrund fehlendem Stroms startet Linux nicht mehr wie gewohn...
source.list öffnet sich nicht
sebastian reimann, 27.10.2017 09:32, 2 Antworten
hallo Zusammen Ich habe das problem Das ich meine source.list nicht öffnen kann weiß vlt jemman...
Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 6 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...