Einleitung

In dieser Anleitung wird Folgendes beschrieben:

  • RSA-Key unter Windows erstellen,
  • RSA-Key auf dem Freifunk-Router hinterlegen
  • Verbindung zum Router unter Verwendung des RSA-Key

Grundlegende Kenntnisse über den Aufbau einer Verbindung zu einem SSH-Server über den SSH-Client Putty werden vorausgesetzt und an dieser Stelle nicht erörtert.

Ferner muss an dieser Stelle nach öffentlichem und privatem RSA-Schlüssel unterschieden werden. Der öffentliche Schlüssel kann verbreitet werden und gleicht einer Visitenkarte die an andere Leute verteilt wird. Der private Schlüssel sollte geheim bleiben und nicht weiterverbreitet werden.  Er gleicht einem Ausweisdokument welches zur Visitenkarte passt. Beide Schlüssel bilden ein Schlüsselpaar.

Vorarbeiten

Für Erstellung der Schlüssel und Verbindung mit dem SSH-Server werden folgende Programme benötigt:

  • PuTTY - als SSH-Client
  • PuTTYgen - zum Erzeugen der Schlüssel
  • Pageant - zum automatischen Authentifizieren am SSH-Server

Diese Programme können unter folgendem Link einzeln oder im Komplettpaket heruntergeladen werden:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Anschließend bitte alle Anwendungen in den gleichen Ordner legen.

Schritt 1 - RSA-Schlüssel erstellen

Dazu wird das Programm PuTTYgen gestartet.

Die Standardeinstellungen "SSH-2 RSA" und "2048 bits" sind für uns gut geeignet.

Über den Button "Generate" wird ein Schlüsselpaar erzeugt. Das Programm wartet nun auf ein paar Mausbewegungen um eine gewisse Entropie zu erzeugen. Anschließend sollte der öffentliche RSA-Schlüssel bereits angezeigt werden.

In der großen Textbox steht bereits der öffentliche Schlüssel welcher später auf dem Freifunk-Router hinterlegt werden muss, daher kann dieser bereits vollständig markiert und in die Zwischenablage kopiert werden.

Im Feld "Key passphrase" sollte ein Kennwort hinterlegt werden welches bei der Verwendung des privaten Schlüssels abgefragt wird. Die Eingabe ist im nächsten Feld zu wiederholen.

Über die Schaltflächen "Save public key" & "Save private key" werden der öffentliche und der private RSA-Schlüssel für die spätere Verwendung exportiert. Beim Export des privaten Schlüssels ohne hinterlegtes Kennwort wird ein entsprechender Hinweis angezeigt.

Ferner kann bei Bedarf ein Schlüsselkommentar angegeben werden. Als Voreinstellung wird Schlüsseltyp und Generierungsdatum hinterlegt. Ein anderer Ansatz ist die Angabe wer den Schlüssel auf welchem System verwendet - "Max@Max-PC" als Beispiel.

Für unseren Fall ist es ausreichend den privaten Schlüssel über die entsprechende Schaltfläche zu speichern.

Schritt 2 - öffentlichen RSA-Schlüssel auf dem Router hinterlegen

Der öffentliche Schlüssel ist bereits in der Zwischenablage. Nun sollte die Config-Seite des Routers aufgerufen werden auf dem der eben erzeugte öffentliche Schlüssel hinterlegt werden soll. Den Config-Modus erreicht man durch 5s langes Drücken des WPS/Reset-Knopfes am Router. Dieser startet neu und ist anschließend über die Adresse http://192.168.1.1 im Browser erreichbar - vorausgesetzt der Router ist über ein Netzwerkkabel mit dem PC verbunden.

Über "Expert Mode" --> "Remotezugriff" kann der öffentliche SSH-Schlüssel aus der Zwischenablage in eine separate Zeile eingefügt werden. Unter Umständen ist dort bereits ein Schlüssel hinterlegt. Über "Absenden" wird die Änderung im Router gespeichert.

Sollte der öffentliche Schlüssel an dieser Stelle nicht mehr in der Zwischenablage sein, so kann über das bereits verwendete Tool PuTTYgen die gespeicherte Schlüsseldatei "Privater-Schlüssel.ppk" geöffnet und der öffentliche RSA-Schlüssel wieder angezeigt werden.

Nun den Router kurz vom Stromnetz trennen um ihn wieder im normalen Modus zu starten.

Schritt 3 - Verbindung zum Router unter Verwendung des RSA-Key

Für den erfolgreichen Aufbau einer SSH-Verbindung zum entsprechenden Router sind 3 Dinge Voraussetzung:

  • Die IP-Adresse des Routers
  • Die Schlüsseldatei "Privater-Schlüssel.ppk"
  • Der SSH-Benutzername des Routers

Ersteres lässt sich über den Meshviewer auf der Freifunkseite herausfinden. Unter https://www.freifunk-gera-greiz.de/meshviewer/ den eigenen Knoten suchen und in den Knotendetails die verlinkte IPv6-Adresse des Routers notieren.

Sofern man als Client mit dem betroffenen Router verbunden ist kann die IP auch über die URL http://nextnode.ffggrz angezeigt werden.

Hier ist die IP-Adresse gelistet. Dabei kann die mit "fe80:" beginnende Adresse ignoriert werden.

Anschließend wird die Anwendung PuTTY gestartet.

Im Feld "Hostname" wird die ermittelte IP hinterlegt und darauf geachtet, dass als Verbindungstyp "SSH" ausgewählt ist.

Auf der linken Seite unter "Connection" --> "Data" den SSH-Benutzername hinterlegen. Alternativ dazu kann im vorherigen Schritt der Hostname um den gewünschten Benutzernamen ergänzt werden - einfach die IP-Adresse des Routers im folgenden Format unter "Session" im Feld "Hostname" eingeben:

"root@fdb5:78b:64cc:0:32b5:c2ff:fe87:9ea8"

Anschließend unter "Connection" > "SSH" > "Auth" die private Schlüsseldatei "Privater-Schlüssel.ppk" hinterlegen.

Beim anschließenden Aufbau der Verbindung über die Schaltfläche "Open" wird das beim Export hinterlegte Zertifikatskennwort abgefragt.

Nach der Eingabe sollte die Begrüßungsseite des Routers angezeigt werden. Die Zeile "root@RC-Krummer-Weg-001c" gibt an, dass als Benutzer "root" auf den richtigen Router verbunden wurde.