Schlüssel Recycling
Das folgende Dokument bezieht sich sowohl auf Fastd, als auch Wireguard Geräte. Seit 2021 stellen wir schrittweise auf Wireguard um. Bitte erst herausfinden, welcher der beiden Schlüsseltypen verwendet wird.
Abstrakt
Mit der folgenden Anleitung kann man das fastd Schlüsselpaar extrahieren und sich irgendwo abspeichern. Nach dem Flashen/Löschen der Konfiguration kann es dann wiederverwendet werden.
Motivation
Es gibt Gelegenheiten, da möchte man einen Freifunkknoten neu flashen, um ein zerspieltes Gerät wieder fit zu machen. Wenn man beim Flashen die Konfiguration mit löscht, geht allerdings auch das fastd Schlüsselpaar verloren und ein neues muss beim Team der Administrierenden angemeldet werden. Das kann durch Recycling vermieden werden. Normalerweise lohnt dieser Aufwand aber nicht.
Schlüsseltyp
Die verschiedenen Schlüsseltypen werden an verschiedenen Orten auf dem Gerät gespeichert. In der Regel hat man entweder ein Gerät mit fastd Schlüssel oder ein Gerät mit Wireguard Schlüssel. Der Schlüsseltyp lässt sich optisch recht gut auseinanderhalten:
Beispiele:
fastd: 02ed34a63509ff123abad1838ecb34cdfa4561582a6741c1995b461fc629a85e
wireguard: XQWocDp4xF9yPtAkYY/LWKHyE8zh/v5Ltr/uhIG2GBc=
Zugriff
Als erstes benötigen wir Zugriff auf die Kommandozeile. Sofern noch nicht geschehen, lege dazu bitte ein root Passwort im
Konfigurationsmodus fest oder hinterlege einen ssh Schlüssel.
Zurück im normalen Betriebsmodus greife per SSH auf den Knoten zu:
Beispiel:
ssh root@fdca:ffee:8:11:ecd2:f9bf:fd9c:8646
IP-Adressen kann man recht bequem über die
Karten-Anwendung ausfindig machen, sofern nicht bekannt.
uci show fastd.mesh_vpn.secret
bzw.
uci show network.wg_mesh.private_key
zeigt den geheimen Teil des Schlüsselpaares an.
Beispiel:
root@mein-knoten:~# uci show fastd.mesh_vpn.secret
fastd.mesh_vpn.secret='56e90871bad7334fabe1c54ca5510c33b646061cbf9c912979637236107a970f'
Diesen Schlüssel kann man sich nun an geeigneter Stelle sicher notieren.
Reimplantation
Auf einem neuen / anderen Knoten kann man diesen Schlüssel nun wieder einspielen.

Man sollte es tunlichst vermeiden, einen Schlüssel mehrfach zu verwenden: Mit jeweils verschiedenen Supernodes mag es vielleicht aussehen, dass das funktioniert, allerdings zieht das einen Rattenschwanz an Problemen nach sich.
Über das Kommando
uci set kann man den zuvor notierten Schlüssel wieder zurückspielen und mit
uci commit abspeichern:

XXXXX entsprechend durch den eigentlichen Schlüssel ersetzen.
uci set fastd.mesh_vpn.secret="XXXXX"
uci commit fastd.mesh_vpn.secret
bzw.
uci set network.wg_mesh.private_key="XXXXX"
uci commit network.wg_mesh.private_key
Danach startet man entweder den Knoten via
reboot neu.
Öffentlicher Schlüssel
Der Vollständigkeit halber kann man den öffentlichen Schlüssel mit diesem Kommand anzeigen lassen:
/etc/init.d/fastd show_key mesh_vpn
bzw.
wg show
Beispiel:
root@mein-knoten:~# /etc/init.d/fastd show_key mesh_vpn
b344876f84057f80d2d3e1ac4887c94d7007e47c6e46d3fa24401119b18a8e7d
Der öffentliche Schlüssel ist derjenige, der den Administrierenden per Mail zur Freischaltung zugesandt wird.