Tipp: SSH-Schlüsselpaar erstellen und nutzen

SSH ist per se schon ziemlich sicher, die Zuverlässigkeit steht und fällt jedoch mit dem eigenen Passwort. Wesentlich schwerer zu knacken als ein einfaches Kennwort ist ein Schlüsselpaar, siehe dazu auch den Schwerpunkt unserer letzten Ausgabe [3]. Ein solches Paar besteht aus einem privaten und einem öffentlichen Schlüssel. Ersterer befindet sich auf dem eigenen Rechner in der Datei ~/.ssh/id_rsa (wenn Sie die empfohlene RSA-Verschlüsselung verwenden), Letzterer auf dem Zielsystem in der Datei ~/.ssh/authorized_keys. Den privaten Schlüssel sollten Sie zusätzlich mit einer Passphrase schützen. Die folgende Schritt-für-Schritt-Anleitung zeigt, wie Sie ein solches Schlüsselpaar erstellen:

  1. Beim Anlegen hilft Ihnen das Kommandozeilentool ssh-keygen, das unter Ubuntu Bestandteil des Pakets openssh-client ist und unter OpenSuse zum Paket openssh gehört. Am Prompt tippen Sie den folgenden Befehl, um ein RSA-Schlüsselpaar zu erstellen:

    ssh-keygen -t rsa
  2. Die nächste Frage, ob Sie den privaten Schlüssel in der Datei ~/.ssh/id_rsa speichern möchten, bestätigen Sie mit der Eingabetaste:

    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/↩
    huhn/.ssh/id_rsa):
  3. Das Programm fordert Sie nun auf, ein Kennwort einzugeben und dieses zu wiederholen. Beide Male tippen Sie ohne visuelles Feedback und drücken danach [Eingabe]:

    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
  4. Abschließend sehen Sie verschiedene Meldungen, dass alles geklappt hat (Abbildung 3). Werfen Sie einen Blick ins Verzeichnis ~/.ssh, so sehen Sie das neue Schlüsselpaar, die beiden Dateien id_rsa und id_rsa.pub.

    Abbildung 3: Mit dem Programm "ssh-keygen" erstellen Sie ein SSH-Schlüsselpaar auf der Kommandozeile.
  5. Den öffentlichen Schlüssel, also die Datei mit der Endung .pub, übertragen Sie nun auf den entfernten Rechner. Das können Sie mit scp ("secure copy") erledigen und den Schlüssel von Hand in die Datei ~/.ssh/authorized_keys einfügen, komfortabler geht's aber mit dem Skript ssh-copy-id. Ersetzen Sie im folgenden Befehl die Benutzer- und Rechnernamen durch Ihre eigenen:

    ssh-copy-id huhn@lion
  6. Auf Nachfrage geben Sie das Kennwort des Zielsystems ein. Beachten Sie, dass Sie hinter der Option -i auch einen anderen Schlüssel definieren können, wenn dieser vom Standard (id_rsa.pub) abweicht. Hat alles geklappt, schlägt das Skript vor, dass Sie sich nun auf der entfernten Maschine einloggen und überprüfen, dass der öffentliche Schlüssel (und nur dieser) in der Datei ~/.ssh/authorized_keys angekommen ist.

Bei der nächsten Anmeldung sollte das Zielsystem nicht mehr nach Ihrem Benutzerkennwort, sondern nach der SSH-Passphrase fragen.

Um eine Anmeldung auf einem entfernten Rechner ganz ohne Interaktion und Eintippen eines Kennworts zu ermöglichen, können Sie die SSH-Passphrase in die eigene Schlüsselbundverwaltung aufnehmen. Unter Gnome steht dazu das Programm Seahorse (Abbildung 4), unter KDE die KDE-Brieftasche (KWallet) zur Verfügung. Beide Anwendungen bieten von sich aus an, den Schlüssel beim ersten Einsatz aufzunehmen. Wenn Sie (wie in der Anleitung gezeigt) ssh-copy-id einsetzen, um den öffentlichen Schlüssel zu übertragen, ist das bereits dann der Fall.

Abbildung 4: Die Schlüsselbundverwaltungen der Desktopumgebungen (hier Seahorse unter Gnome) speichern SSH-Schlüssel und die Passphrase, so dass Sie sich ohne Interaktion auf entfernten Rechnern anmelden können.

Tipp: Lokale und entfernte Datei vergleichen

Mit dem Kommando diff vergleichen Sie zwei Textdateien auf der Konsole miteinander [5]. Dabei geben Sie grundsätzlich hinter dem Befehl diff die beiden Dateien an:

diff datei1 datei2

Haben Sie wie im vorigen Tipp gezeigt ein SSH-Schlüsselpaar erstellt und verwalten dieses über eine digitale Brieftasche wie Gnome oder KWallet, dann können Sie mit einem kleinen Trick auch zwei Dateien auf unterschiedlichen Rechnern gegenüberstellen. Dazu teilen Sie diff über die Shell-Konstruktion <(...) mit, dass es die Ausgabe eines ssh-Aufrufs als Datei interpretieren soll. ssh rufen Sie dabei mit einem cat-Kommando auf, das eine Datei von der entfernten Maschine ausgibt und die Verbindung direkt danach trennt. Das zweite Argument ist einfach die lokale Datei, im folgenden Beispiel vergleicht diff die lokale und die entfernte Version der Datei /etc/resolv.conf:

diff <(ssh lion cat /etc/resolv.conf) /etc/resolv.conf

Eine Passworteingabe für SSH ist ja aufgrund des Schlüsselpaars und der gespeicherten Passphrase nicht erforderlich. Praktisch: Setzen Sie zuätzlich die diff-Option -y ein, erscheint die Ausgabe in zwei Spalten nebeneinander – das ist übersichtlich und prima zum Vergleichen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

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

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • 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.
  • Zu Befehl
    Jedesmal, wenn Sie sich über telnet auf einem Rechner anmelden oder per ftp Daten von einem Computer zu einem anderen übertragen, wird das Passwort – wie alle anderen Daten auch – im Klartext gesendet. Damit kann jeder, der den Netzverkehr "abhört", Informationen und damit auch Zugang zum benutzten Account bekommen. Mit der Secure Shell (ssh) und den dazugehörenden Kommandos ssh für das Login und scp zur Dateiübertragung sind sie auf der sicheren Seite: Hier kommen verschlüsselnde Alternativen auf der Kommandozeile.
  • 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.
  • Shell-Tipps
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sich manche Aufgabe schneller bewältigen lässt, als mit grafischen Programmen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
  • Know-how für die Kommandozeile
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sie manche Aufgabe schneller als in grafischen Programmen bewältigen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
Kommentare

Infos zur Publikation

title_2014_04

Digitale Ausgabe: Preis € 9,80
(inkl. 19% MwSt.)

EasyLinux erscheint vierteljährlich und kostet EUR 9,80. Weitere Informationen zum Heft finden Sie auf der EasyLinux-Homepage.

Das EasyLinux-Jahresabo mit Prämie kostet ab EUR 33,30. Details zum EasyLinux-Jahresabo finden Sie im Medialinx-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

WLAN-Signalqualität vom Treiber abhängig
GoaSkin , 29.10.2014 14:16, 0 Antworten
Hallo, für einen WLAN-Stick mit Ralink 2870 Chipsatz gibt es einen Treiber von Ralink sowie (m...
Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...