Secure Shell oder SSH bezeichnet sowohl ein Netzwerkprotokoll als auch entsprechende Programme, mit deren Hilfe man auf eine sichere Art und Weise eine verschlüsselte Netzwerkverbindung mit einem entfernten Gerät herstellen kann. Häufig wird diese Methode verwendet, um lokal eine entfernte Kommandozeile verfügbar zu machen, das heißt, auf einer lokalen Konsole werden die Ausgaben der entfernten Konsole ausgegeben und die lokalen Tastatureingaben werden an den entfernten Rechner gesendet. Genutzt werden kann dies beispielsweise zur Fernwartung eines in einem entfernten Rechenzentrum stehenden Servers. Die neuere Protokoll-Version SSH-2 bietet weitere Funktionen wie Datenübertragung per SFTP. Die IANA hat dem Protokoll den TCP-Port 22 zugeordnet.
Quelle: Wikipedia
Linux
Windows Putty, puttygen und pageant helfen einem hier weiter.
Alle folgenden Erklärungen und Befehle setzen voraus, dass bereits eine SSH-Verbindung zu dem gewünschten Node besteht.
Die folgende Wiki-Seite von gluon (unserer Firmware-Basis) enthält die meisten und wichtigsten Befehle: https://github.com/freifunk-gluon/gluon/wiki/Commandline-administration
und https://wiki.freifunk.net/Konsole
Diese Wiki-Seite versteht sich als Ergänzung der dort erklärten Befehle.
Mit dem Befehl autoupdater
lässt sich der Autoupdater manuell außerhalb der regulären Tasks aufrufen. Er funktioniert dann ganz normal und wird, wenn ein Update vorhanden ist, mit der gleichen, vom Server dem Knoten zugeteilten, Wahrscheinlichkeit updaten.
Um ein Update zu erzwingen kann an den Befehl -f
angehängt werden.
Falls für einen einzelnen Autoupdater-Aufruf ein anderer Branch gewählt werden möchte kann -b $BRANCHNAME
an den Befehl gehängt werden.
Als erstes muss das Firmware-Image auf den Knoten geladen werden.
Wechsle in das temporäre Verzeichnis des Knoten (cd /tmp/
) und lade das Image herunter mit wget [FIRMWAREURL]
.
Übertrage das lokale Image per scp in das /tmp/
-Verzeichnis des Knoten, indem folgender Befehl auf dem eigenen Rechner ausgeführt wird:
scp [FIRMWAREDATEI] root@[ [IPv6-ADRESS] ]:/tmp/
Führe folgende Befehle angepasst aus:
echo 3 > /proc/sys/vm/drop_caches
sysupgrade [FIRMWAREFILE]
Wenn der Router nach dem Reboot wieder oben ist könnt ihr den Branch für den Autoupdater noch festlegen:
uci set autoupdater.settings.enabled='1'
uci set autoupdater.settings.branch='stable'
uci commit autoupdater
Das Update kann man dann manuell anstoßen.
autoupdater -f
Die Datei in der die erlaubten SSH-PublicKeys liegen, befindet sich in /etc/dropbear/authorized_keys
. Zum Bearbeiten muss diese einfach in dem Editor der Wahl geöffnet werden.
Beispiel: vim /etc/dropbear/authorized_keys
Nun kann ein weiterer Key in eine neue Zeile eingefügt werden oder ein bereits bestehender gelöscht werden.
Nach dem Speichern kann man die Verbindung schließen und sich mit dem neuen Key verbinden.
Wenn man mal etwas kaputt-konfiguriert hat lässt sich der Zustand "frisch-geflash" wie folgt wiederherstellen.
firstboot
setzt alle Konfigurationen zurück.reboot
neu.Der Node befindet sich jetzt im wieder im Config-Mode, wie beim ersten Start.
Den Reset Knopf 20 Sekunden drücken, bis alle Lampen einmal Aufblinken geht auch.
(Re-)entering config mode
uci set gluon-setup-mode.@setup_mode[0].enabled='1'
uci commit gluon-setup-mode
reboot
Am einfachten ist es, die Position auf der Freifunkkarte festzulegen.
https://map.bremen.freifunk.net/#!/de/map
In der rechten oberen Ecke ist ein PIN, der steht für Koordinaten wählen. Einfach draufklicken und mit dem Fadenkreuz auf der gewünschten Position erneut klicken. Am linken Rand werden die gewählten Koordinaten angezeigt. Eine fertige Befehlsfolge für die SSH-Shell wird ebenfalls angezeigt. DIesen einfach kopieren und in die Shell einfügen. Nach ein paar Minuten steht der Router auf der neuen Position.
Beispiel: Fernsehturm Utbremer Str. 91
uci set gluon-node-info.@location[0]='location'; uci set gluon-node-info.@location[0].share_location='1'; uci set gluon-node-info.@location[0].latitude='53.095761940'; uci set gluon-node-info.@location[0].longitude='8.791882843'; uci commit gluon-node-info
Gleichel Beispiel als Liste
uci set gluon-node-info.@location[0]='location'
uci set gluon-node-info.@location[0].share_location='1'
uci set gluon-node-info.@location[0].latitude='53.095761940'
uci set gluon-node-info.@location[0].longitude='8.791882843'
uci commit gluon-node-info