Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2007  »  07  »  Schlüsselfertig  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

© Thomas Kerzner, photocase.com

LPIC-Vorbereitung - Teil 12: Die SSH konfigurieren und bedienen

Schlüsselfertig

von Markus Heller
Erschienen im Linux-Magazin 2007/07

Kaum ein Werkzeug bestimmt den Alltag des Administrators mehr als die Secure Shell, die SSH. Fernwartung von Linux- oder Unix-Rechnern ist heute ohne sie nicht mehr vorstellbar. Deshalb widmet sich dieser Artikel ganz dem Teil 1.113.7 der LPI-Prüfung.

Telnet und die Remote Shell »rsh« waren bis in die 90er Jahre der Weg, wenn sich ein Benutzer über das Netz an einem Unix-Rechner anmelden wollte. Weil beiden Protokollen jeglicher Schutz vor Angreifern fehlt, gelten sie heute als überholt. Beide übertragen das eingegebene Passwort sowie alle übermittelten Daten im Klartext, also unverschlüsselt.

OpenSSH

Ein geeigneter Nachfolger fand sich mit der SSH, der Secure Shell [1]. Heute kommt üblicherweise die freie Implementierung OpenSSH [2] zum Einsatz. Das LPI-Lernziel 1.113.7 widmet sich diesem Programm, seiner Konfiguration und Anwendung.

SSH verschlüsselt die komplette Datenübertragung und vereitelt damit jeden Versuch, Passwörter oder übermittelte Daten abzuhören. Neben der klassischen Benutzerauthentifizierung per Passwort beherrscht SSH auch modernere Verfahren, vor allem die Authentifizierung mit einem kryptographischen Schlüsselpaar. Auch der Client prüft, ob er sich mit dem gewünschten Server verbunden hat oder ob sich ein Angreifer als so genannter Man in the Middle einschleusen will.

Ursprünglich war SSH für den Remote Login gedacht. Heute kennt es viele Erweiterungen, etwa um Dateien zu kopieren, die Oberfläche von X11-Programmen auf dem Client anzuzeigen oder beliebige TCP-Ports weiterzuleiten [3].

Die erste Session

Moderne Linux-Distributionen installieren den SSH-Client standardmäßig. Den zugehörigen Server »sshd« befördern Suse und Red Hat ebenfalls auf die Platte, unter Ubuntu hilft ein »apt-get install openssh-server«. Tabelle 1 gibt einen Überblick über die wichtigsten Konfigurationsdateien und die Pfade der Schlüsselfiles. LPI-Prüfungskandidaten sollten diese Pfade kennen.

Tabelle 1:
SSH-Konfiguration und Schlüssel

 

Datei

Funktion

Systemweite Konfiguration

/etc/hosts.allow

Erlaubte Clientrechner

/etc/hosts.deny

Verbotene Clientrechner

/etc/nologin

Wenn diese Datei existiert, ist kein Login gestattet

/etc/ssh/ssh_config

SSH-Client-Konfiguration

/etc/ssh/sshd_config

SSH-Server-Konfiguration

/etc/ssh/ssh_known_hosts

Öffentliche Schlüssel von SSH-Servern

/etc/ssh/ssh_host_key

Hostkey des Servers (private)

/etc/ssh/ssh_host_key.pub

Hostkey des Servers (public)

Benutzereinstellungen

~/.ssh/config

SSH-Client-Konfiguration

~/.ssh/id_rsa

Privater RSA-Schlüssel des Benutzers

~/.ssh/id_rsa.pub

Öffentlicher RSA-Schlüssel des Benutzers

~/.ssh/known_hosts

Öffentliche Schlüssel von SSH-Servern

~/.ssh/authorized_keys

Public Keys von Usern, die sich ohne Passwort anmelden
dürfen

Vom Client ausgehend baut der Benutzer mit »ssh SSH-Server« eine Verbindung zu dem Server auf. Mit dem Befehl » ssh -v SSH-Server« liefert das Programm Debugging-Informationen (Abbildung 1), die über jeden Schritt beim Remote Login informieren.


Abbildung 1: Der User baut eine SSH-Verbindung mit dem lokalen SSH-Server auf. Im Debug-Modus mit der Option »-v« zeigt der Client den komplette Verbindungsaufbau, Pfade, Verschlüsselungsmechanismen und erlaubte Authentifizierungsmethoden ebenso wie eventuell fehlerhafte Dateiberechtigungen.

Das Clientprogramm »ssh« lädt zunächst systemspezifische Standardeinstellungen aus »/etc/ssh/ssh_config« und startet danach den Verbindungsaufbau. Falls der Anwender eigene Schlüsselpaare besitzt, liest sein Client auch die privaten Schlüssel (die Zeilen mit »identity file« in Abbildung 1). Anschließend einigen sich Client und Server auf SSH-Version 1 oder 2 - aufgrund von Schwächen in Version 1 ist dessen Nachfolger unbedingt vorzuziehen.

Der Server authentifiziert sich nun gegenüber dem Client. Die Erfolgsmeldung lautet »host Servername is known and matches the RSA host key«: Jetzt weiß der Client, dass er mit dem gewünschten Server spricht. Danach authentifiziert sich der Client. In Abbildung 1 versucht er das zunächst per RSA- und DSA-Schlüsselpaar (RSA ist nach seinen Erfindern Rivest, Shamir, Adleman benannt, DSA steht für Digital Signature Algorithm). Weil jedoch kein Key passt, fällt der Client auf die Keyboard-Interactive-Technik zurück und der Server verlangt ein Passwort.

LPI-Aufgabengruppen

Das Linux Professional Institute gliedert die Prüfungsfragen nach Aufgabengruppen. Dieser Artikel beschäftigt sich mit dem Abschnitt 1.113.7:

  • Einrichten der Secure Shell (OpenSSH)
  • Funktionsweise
  • Konfiguration des Servers
  • Konfiguration des Clients
  • Zugriffsbeschränkung
  • Erzeugen und Verwenden von SSH-Keys

Will sich der User in einen Account einloggen, der anders heißt als seine lokale Benutzerkennung, dann teilt er das per »ssh -l Benutzername SSH-Server« oder kurz »ssh Benutzername@SSH-Server« mit. Abbildung 1 zeigt, wie sich ein User über SSH als »root« via Passwort am lokalen Linux-System anmeldet.

Bei der Passwort-Authentifizierung sendet der Client das Passwort an den Server und dieser prüft, ob das Wort korrekt ist. Beim Einsatz eines RSA- oder DSA-Schlüsselpaares ist der Ablauf anders. Das Paar besteht aus einem öffentlichen und einem privaten Key. Der private Key muss geheim bleiben, selbst der SSH-Server erfährt ihn nicht. Der Server kennt nur den zugehörigen öffentlichen Schlüssel. Der Client beweist durch eine so genannte digitale Signatur, dass er das zu einem öffentlichen Key passende Gegenstück besitzt. Der Server lässt bei der Public-Key-Authentifizierung also den Benutzer nur ins System, wenn er dessen öffentlichen Key kennt (anhand der Datei »~/.ssh/authorized_keys«) und weiß, dass der User den privaten hat.

Sie können diesen Artikel als PDF für 99 Cent kaufen. Klicken Sie dazu einfach auf eine der beiden Bezahloptionen Paypal oder ClickandBuy.


Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
X servieren Vorbereitung auf die LPIC-1 Prüfung - Teil 5
Beglaubigte Adressen DNSSEC verheiratet Namensauflösung und PKI
Einmalige Gelegenheit Sichere Authentifizierung mit Einmalpasswörtern
Dateisystem im Server LPIC-1-Vorbereitung - Teil 23: Network File System (NFS)
Gezähmter Höllenhund Linux-Authentifizierung über einen Active-Directory-Service mit Kerberos 5 Active-Directory-Service mit Kerberos 5
Kein Weg ist das Ziel Test: PC Anywhere für Linux
Whitepaper
The Role of Open Source in Data Integration

Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.

Download PDF (Registrierung erforderlich)
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)

Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
Kommentare (0)