SSH-Keygen
Meinen kleinen Raspberry-Zoo halte ich mittels Secure Shell, kurz SSH, bei Laune. Das ist ein Netzwerkprotokoll, mit dem ich die Kommandozeile der Minicomputer von jedem beliebigen Rechner in meinem Heimnetzwerk aufrufen und Eingaben machen kann.
Da es sich um ein kryptographisches, also ein verschlüsseltes Netzwerkprotokoll handelt, muss ich mich bei jedem Verbindungsaufbau authentifizieren. Das funktioniert im einfachsten Fall mittels eines Logins und Passwortes. Möchte ich mir diese Eingaben sparen bzw. die Anmeldung ohne Tastatureingabe automatisieren, so gibt es die Möglichkeit einer Public-Key-Authentifizierung.
Hier möchte ich die Einrichtung letzterer Methode und die anschließende Nutzung der SSH Verbindung eingehen. Hierfür verwende ich den sehr populären SSH-Client Putty.
Erstellen eines Schlüsselpaares
Ein Schlüsselpaar besteht immer aus einem privaten und einem öffentlichen Schlüssel. Der öffentliche wird später auf dem Raspberry, mit dem ich mich verbinden will, gespeichert. Der private verbleibt auf meinem lokalen Rechner.

- Öffnen des Putty-Programmes PuTTYgen
- Starten des Vorgangs mit “Generate”
- Erstellen eines SSH-Schlüssels durch willkürliche Mausbewegungen
- Vergeben eines Passwortes (optional)
- Speichern des privaten und des öffentlichen Schlüssels auf der lokalen Festplatte
- Das Programm noch nicht schließen, da wir gleich noch die Infos zum öffentlichen Schlüssel benötigen.
Speichern des öffentlichen Schlüssels
Der öffentliche Schlüssel muss nun auf dem entfernten Raspberry gespeichert werden. Die Anmeldung ist dann nur mit einem zu diesem passenden, privaten Schlüssel möglich. Der öffentliche Schlüssel wird im Klartext in einer Datei gespeichert. Das ist aber kein Problem da es praktisch unmöglich ist, hieraus den privaten Schlüssel zu berechnen. Das macht diese Art der Anmeldung sicherer, als die Authentisierung mittels Kennwort. Das Kennwort wird als Hash-Wert auf dem Raspberry gespeichert, es ist prinzipiell möglich hieraus wieder das Kennwort zu berechnen.
Wir müssen uns aber zunächst mittels Login und Kennwort anmelden, um anschließend den öffentlichen Schlüssel zu speichern.

- Öffnen von PuTTY
-
Eingabe des Benutzernamens und des Host-Namens, oder der IP-Adresse in folgender Form
@ - Herstellen der Verbindung mittels “Open” und Eingabe des Passwortes
In der nun sichtbaren Kommandozeile befinden wir uns im Home-Verzeichnis des/der angemeldeten Benutzers/Benutzerin. Wir wechseln ins Unterverzeichnis .ssh:
cd .ssh
Wir lassen uns nun den Inhalt dieses Verzeichnisses anzeigen:
ls -al
Im einfachsten Fall existiert hier schon eine Datei mit dem Namen “authorized_keys”, die am Besten auch schon nur nur Rechte für den angemeldeten Nutzer hat.

Ist beides nicht der Fall, so erstellen wir zunächst diese Datei mittels:
nano authorized_keys
Nun gilt es, den öffentlichen Schlüssel als Klartext in diese Datei zu schreiben:
chmod 700 authorized_keys