Howto Fastd Schlüssel verwalten
Ausgangssituation
- Ich möchte fastd Schlüssel über das peers Repository freischalten/ändern/löschen.
- Ich habe einen Linux Rechner.
- Ich bin bereit, auf der Kommandozeile zu arbeiten.
Vorbereitung
Die folgenden Schritte müssen nur einmal bei der Einrichtung vorgenommen werden.
sudo apt update
sudo apt install git perl libfile-slurp-perl wget
ssh Schlüssel
Sofern noch nicht vorhanden, muss ein ssh Schlüssel erzeugt werden, der auf dem Git-Server hinterlegt wird.
ssh-keygen -t rsa -b 4096
Standardwerte können übernommen werden. Mit
cat ~/.ssh/id_rsa.pub wird der öffentliche Schlüssel angezeigt. Diesen bitte an die entsprechenden Personen schicken.
Peers repo auschecken
git clone ssh://git@git.ffh.zone:1337/peers.git peers
Entsprechende Zugriffsrechte auf unserem Git-Server vorausgesetzt, checkt dieses Kommando das Peers-Repository aus und legt es als neues Verzeichnis "peers" im lokalen Verzeichnis ab. Der Verzeichnisname "peers" ist dabei willkürlich gewählt und kann beliebig ersetzt werden.
Nutzung
Die Nutzung des Repo ist an gewisse Konventionen geknüfpt. Da das Repo auf verschiedenen Betriebssystemen und Dateisystemen genutzt wird, ist es beispielsweise zwingend erforderlich, dass Umlaute und Sonderzeichen in Dateinamen vermieden werden und dass Dateinamen nicht kollidieren, indem sie sich nur durch Groß- und Kleinschreibung unterscheiden. Des Weiteren soll das Ganze auch für Menschen überschaubar bleiben, sodass Disziplin bei den Commit-Nachrichten notwendig ist.
Die Dokumenation der Konventionen liegt
hier.
Da Schlüssel nicht berücksichtigt werden, die doppelt vorliegen, müssen Duplikate vermieden werden.
keys.pl
Um die obigen Konventionen einzuhalten und Duplikate zu vermeiden, kann das Kommandozeilenskript
keys.pl genutzt werden. Die Verwendung ist optional.
Zur Installation:
cd peers
wget https://hannover.freifunk.net/wiki/pub/Maschinenraum/PeersHowto/keys.pl
chmod 755 keys.pl
Zur Nutzung:
cd peers
./keys.pl
Nach dem Start kann man direkt den EMail-Inhalt einer Freischaltungsanfrage in das Skript kopieren. Die Eingabe wird mit einem einzelnen Punkt auf einer Zeile abgeschlossen.
Es können mehrere Schlüssel auf einmal übergeben werden. Die Prosa um den/die Schlüssel herum wird automatisch ignoriert.
Die Knotennamen werden normalisiert (Umlaute ersetzt, Kleinschreibung erzwungen, …). Die neuen Schlüssel werden mit den vorhandenen Schlüsseln auf Duplikate hin abgeglichen.
Das Skript nimmt selbst keine Änderungen vor. Als Ergebnis werden die notwendigen Kommandos ausgegeben, welche zum Eintragen der Schlüssel notwendig sind.
Beispieleingabe
Moin,
bitte folgenden Knoten freischalten:
# test-Knoten für mein Dorf 1
18bccad743cf3020b43369f02c8fd1a7c7cc6c1a6ee03fb0d17afaf27fecb198
und dann noch einer:
# Test Knoten mit Ümlaut
2b58da3de0623fc0d7daa468c2f0940f40e8f7ad08126ec5cdd704359696d701
Vielen Dank.
Mit freundlichen Grüßen
.
Beispielausgabe
Ok. Processing your input.
Found 2189 keys in local directory for duplicate comparison.
Please execute the following commands in order to add your keys to the peers repository.
========================================================================================
git pull
echo 'key "18bccad743cf3020b43369f02c8fd1a7c7cc6c1a6ee03fb0d17afaf27fecb198";' >test-knoten_fuer_mein_dorf_1
git add test-knoten_fuer_mein_dorf_1
git commit -m 'added test-knoten_fuer_mein_dorf_1'
echo 'key "2b58da3de0623fc0d7daa468c2f0940f40e8f7ad08126ec5cdd704359696d701";' >test_knoten_mit_uemlaut
git add test_knoten_mit_uemlaut
git commit -m 'added test_knoten_mit_uemlaut'
git push
Das Skript sucht in den Eingabedaten nach einem bestimmten Muster nach Schlüsseln.
# Knotenname
0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef