Startseite>Secure Shell mit Komfort
Aus Raspberry Pi Geek 06/2018

Secure Shell mit Komfort

© Vadim Yerofeyev, 123RF

Aufgeschlossen

Andreas Bohle

Wer mit der Secure Shell arbeitet, braucht sich beim Login nicht die Finger wundzutippen: Ein paar Einträge in der Konfiguration sparen viel Arbeit.

Für den schnellen Zugriff auf einen entfernten Rechner oder regelmäßige Wartungsarbeiten ist die Secure Shell [1] das optimale Werkzeug. Selbst im lokalen Netzwerk bietet es sich an, Hosts auf diesem Weg zu verwalten. So hängt etwa an einem Raspberry Pi oft weder Monitor noch Tastatur, oder ein NAS erlaubt neben dem Zugriff via Webinterface zusätzlich das Login in eine Shell.

Gerade dabei lohnt es sich aber, auf sichere Kommunikation zu achten, denn auf einem zentralen Datenspeicher liegen unter Umständen persönliche Daten, und der RasPi weiß, welche IoT-Geräte sich im Haushalt befinden. Aus gutem Grund haben die Entwickler daher für den Mini-Rechner den SSH-Server ab Werk erst einmal deaktiviert [2].

Haben Sie schon einmal mit der Secure Shell gearbeitet, dann kennen Sie in der Regel die wichtigen Handgriffe. Meist greifen Sie auf die freie Implementation OpenSSH [3] zurück. Falls Sie zum ersten Mal mit dem Thema in Berührung kommen, hilft Ihnen dieser Workshop beim Erstellen der notwendigen Schlüssel, die es ermöglichen, die Kommunikation zu chiffrieren und zugleich den Zugriff etwas komfortabler zu gestalten.

Schlüssel erzeugen

Im privaten Netzwerk genügt es in der Regel, beim Erzeugen der Schlüssel mithilfe von Ssh-keygen (Listing 1) die vorgegebenen Werte zu übernehmen. Es lohnt sich aber, sich mit den Unterschieden zwischen den Algorithmen zu beschäftigen: Nach derzeitigem Sachstand gibt es beispielsweise eine klare Empfehlung gegen DSA und gegen kurze Schlüssellängen [4].

Listing 1

 

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/testuser/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:4FmaVIThgW3VpGTxBeUqIL6UT9pK4OrxVGvUvLfWe5g [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|     oo=B+ooo    |
|    ..+= o.o     |
|    ..= o . .    |
|   . =oB   .     |
|  . +o*oS .      |
| . oo*. ..       |
| ...+oo. .. o    |
| .+...  ...E .   |
|o. ..   .. .o    |
+----[SHA256]-----+

Verwenden Sie unbedingt ein Passwort, um den Schlüssel zu schützen. Wählen Sie es zu kurz, bricht das Programm beim Erstellen allerdings ab: Saving key "id_rsa" failed: passphrase is too short (minimum five characters). Je nach Algorithmus ändert sich der Name des Schlüssels.

Bevor Sie jedoch mit den gerade erstellten Host-Keys arbeiten dürfen, müssen Sie den Public Key, also in der Regel die Datei mit dem Suffix .pub, auf dem entsprechenden Rechner an die Datei .ssh/authorized_keys anhängen. Das erledigen Sie entweder manuell, indem Sie die Datei mittels Secure Copy kopieren und per Cat einfügen, oder Sie nutzen das exakt für diesen Zweck gedachte Tool Ssh-copy-id (Listing 2).

Listing 2

 

$ ssh-copy-id -i .ssh/id_rsa.raspi.pub Host

Die Software untersucht, ob ein Login mittels Schlüssel gelingt. Klappt das nicht, versucht das Tool den Public Key mittels einfachem Login auf dem Rechner zu installieren. Danach klappt dann der Zugriff via Schlüssel. SSH fragt jedoch bei jedem Login weiter das Passwort ab, das Sie für den Schlüssel vergeben haben (siehe Kasten “Abgesichert”).

Abgesichert

Haben Sie einen (möglichst passwortgesicherten) Schlüssel auf einem entfernten Rechner installiert, empfiehlt es sich, danach das Login per Benutzerpasswort zu deaktivieren. Dazu editieren Sie auf dem fraglichen Rechner die Konfiguration des SSH-Daemons (/etc/ssh/sshd_config). Hier setzen Sie vier Einträge auf no, um ein Login auf klassische Weise zu unterbinden (Listing 3). Anschließend starten Sie den Dienst neu.

Listing 3

 

ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
PermitRootLogin no

Außerdem müssen Sie auf der Kommandozeile meist eine bis zwei zusätzliche Angaben zum Schlüssel sowie zum User machen. Verwenden Sie pro Host einen eigenen Key, lautet das Kommando beim RasPi etwa so wie jenes in Listing 4. Dieses Beispiel zeigt einen Befehl, der Verbindung zu einem Mini-Rechner aufnimmt, der im lokalen Netzwerk an einer Fritzbox hängt.

Listing 4

 

$ ssh -i ~/.ssh/id_rsa.raspberrypi [email protected]

Mehr Komfort

Die Secure Shell bietet nun einige Möglichkeiten, um den Einsatz solcher geschützten Schlüssel und zusätzlicher Angaben in der Praxis etwas komfortabler zu gestalten. Allerdings gilt es dabei die richtige Balance zwischen Sicherheit und einfachem Einsatz zu finden.

Im Wesentlichen passen Sie dazu die persönliche Konfigurationsdatei an (Listing 5). Auf diese Weise haben Sie die volle Kontrolle darüber, wie weit Sie die Waage in die jeweilige Richtung kippen. Für den Inhalt gilt: Rauten leiten Kommentare ein, Einrückungen gestalten die Einträge leserlicher.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland