Inhaltsverzeichnis

SSH

Per SSH ist es möglich, im Betrieb eine sichere Verbindung zu einem Freifunk-Router aufzubauen um seine Konfiguration zu verändern oder ihn zu administrieren.

Voraussetzungen

Verbindet man sich per http(s) auf einen Freifunk-Router im Config-Modus (in diesem befindet sich der Router unter anderem direkt nachdem man ihn geflasht hat) und klickt oben rechts auf „Erweitere Einstellungen“ (oder so ähnlich), kann man unter „Remotezugriff“ SSH-Keys eintragen. Hier kann man mehrere Public-Keys hinterlegen, um den Zugriff für diejenigen mit den passenden Private-Keys zu ermöglichen. Ein Zugriff per Passwort ist zwar auch möglich, was man aber nie machen sollte - denn durch diesen Zugriff erhält man auch Zugang in das WAN, in dem der Router sich befindet, also gegebenenfalls Zugriff in ein privates Heimnetzwerk.

IP-Adresse ermitteln

Freifunk-Router sind prinzipiell erst mal nur aus dem Freifunk-Netz erreichbar. Man muss sich also mit einem Freifunk-Router verbinden - das kann auch derselbe Router wie der, mit dem man sich verbinden möchte, sein. Das ist oft hilfreich, wenn man nicht weiß, wie man exotische Hardware in den Config-Modus versetzt oder wenn man das lokal vorhandene Freifunk-Netz nicht abschalten möchte, weil man den Router konfigurieren will.

Im nächsten Schritt muss man die IP-Adresse des Routers herausfinden. Ist der Router auf der FF3L-Map eingetragen, so kann man die IP-Adresse dort ermitteln. Hier sind immer zwei IPv6-Adressen aufgelistet - eine, die aus dem gesamten Netz erreichbar ist und eine zweite, die mit fe80 beginnt und die vermutlich nur erreichbar ist, wenn man direkt an dem Router dranhängt. Man sollte also immer die erste Adresse nehmen.

Hängt man sowieso direkt an dem Router dran, so kann man die Domain nextnode.ff3l auflösen (also z.B. einfach im Browser eingeben, ggf. muss man explizit http://nextnode.ff3l aufrufen).

Da die IP-Adressen vermutlich statisch sind (bzw. sich wie bei IPv6 ursprünglich angedacht aus der MAC-Adresse berechnen?), sollten die IP-Adressen nicht verändern.

Verbindungsaufbau

Nun kann man sich ganz einfach per SSH mit dem Router verbinden. Unter Linux geht das einfach mit

ssh root@<IP-Adresse>

Möchte man sich mit einem Router mit älterer Firmware verbinden und hat selbst jedoch eine neuere Version von openSSH, erhält man eventuell eine Fehlermeldung. Diese kann man mit folgendem Befehl umgehen:

ssh -o PubkeyAcceptedAlgorithms=+ssh-rsa -o HostkeyAlgorithms=+ssh-rsa root@<IP-Adresse>

Was man jetzt tun kann

Nach dem Verbindungsaufbau hat man eine Shell auf dem Router. Für die Befehle, die man hier verwenden kann, verweise ich gerne auf diesen Artikel von wiki.freifunk.net. Manchmal muss man aber aufpassen, da die Befehle sich zwischen Firmware-Versionen ändern können - in der Regel steht das aber explizit dabei.

Außerdem haben wir in unserem eigenen Wiki auch ein paar Tipps: Kommandozeilen Spickzettel