NEWS
SSH-Kommandos an Freifunk-Router
-
Ich betreibe einen Freifunk-Router, der außen an der Hausfassade hängend eine auf der Rückseite meines Hauses gelegene Schrebergartenanlage und unseren Hausgarten "beschallt".
Es ist ein Netgear R6120. Die Firmware, die hier im Freifunk-Netz verwendet wird. scheint sehr alt und Buggy zu sein (Zeitstempel von 2018).
Der Router hält nur immer ein paar Tage aus, dann steigt die Systemlast, und irgendwann startet er sich neu ...
Manchmal zeigt sich der Fehler aber auch anders .... dann steigt die Systemlast zwar auch, verharrt dann aber, und das WLAN wird deaktiviert. Sowohl das Freifunk WLAN, als auch die zweite SSID für unser privates Gartennetz...
In dieser Situation muss ich dann den Stecker ziehen ...Eine andere Variante wäre, den Router per SSH-Kommando neu zu starten. "Von Hand" habe ich das schon probiert - funktioniert.
Login erfolgt mit einem Zertifikat und einem Password auf der Zertifikatsdatei.Ich weiß, es ist eine Sicherheitslücke, aber wäre es möglich, den Restart per SSH-Kommando mit ein wenig Javascript aus dem iobroker durchzuexerzieren? ... Man müsste natürlich das Zertifikat installieren, und das Password im Javascript Code preisgeben.
Habe nur Beispiele mit username/password login gefunden ...
Iobroker liest aus der Fritzbox aus, dass das Freifunk-WLAN nicht mehr "steht" und das Script wird getriggert und restartet den Freifunk-Router...
Ich habe gesehen, dass andere Freifunk-Communities eine deutlich aktuellere Freifunk_Firmware für den R6120 haben, aber ich wollte schon hier in der Dortmunder Community bleiben ...
-
@martinp du musst dem Benutzer
iobroker
das Zertifikat hinterlegen.Du kannst - unter den gängigen Linux-Systemen - per
sudo -u iobroker /usr/bin/bash
dir in einer SSH / Bash Sitzung einen Prompt als
iobroker
holen und diesem dann den SSH-Key in sein Homeverzeichnis hinterlegen wie jedem anderen Benutzer auch. Dann sollten alle Befehle perssh
auch ohne Passwort funktionieren, beim ersten mal die Schlüsselwarnung/Zertifikatswarnung akzeptieren.Danach kannst du das in den JavaScripten aufrufen, z.B. Blockly mit dem dem
exec
Block -
besser wäre natürlich eine uthentifizierung per key durchzuführen
https://wiki.ubuntuusers.de/SSH/#Public-Key-Authentifizierungganz grob du erzeugst auf dem quellrechner ein neues schlüsselpärchen (public/secret-key)
der public key kommt dann auf den zielrechner. der private key bleibt im ssh verzeichnis des entsprechenden users, der den ssh befehl starten will (namen stehen im artikel)das kopieren des keys ist mit dem befehl ssh-copy-id relativ einfach
aber generell, sollte man nicht schauen warum der router ein problem hat? hast du da schonmal in die entsprechenden logs geschaut?
häufiges problem ist, das der RAM nicht ausreciht, da diese kisten sehr knapp bemessen sind.
die letzte version von freifunk ist mit 2020 auch schon alt.
aber es basiert auf openwrt. da kannst mal nach alternativen schauen. oder auch dd-wrt -
@oliverio wenn ich weiter in der Freifunk Community bleiben will, muss ich natürlich die offizielle Firmware nutzen....
Vielleicht doch einen potenteren Router?Jetzt, wo es Richtung Herbst geht, werde ich vielleicht auch das private WLAN abschalten. Vielleicht entlastet das den Router
-
bin da zwar kein spezialist, aber die anzahl wlans dürft ziemlich irrelevant sein.
wenn dann die anzahl aktive clients die daten übertragen.wenn du im log nachschaust, dann am besten kurz vor dem "absturz/deaktivieren"
da müsst ja dann der grund mit dabei stehen.