Node-RED mittels Passwort absichern

node red logoNach der Installation ist der Zugang zum Node-RED Editor nicht beschränkt. Dadurch hat jeder, im eigenen Netzwerk, Zugang zum Editor und kann dort Einstellungen manipulieren. Solltet ihr evtl auch noch daran denken euren Editor von extern zugänglich zumachen, durch eine Portweiterleitung, dann stellt das ebenfalls ein Hindernis dar. Es muss also eine Authentifizierung mittels Passwort her.

Es ist aber kein Problem eine Authentifizierung per Username und Passwort zu aktivieren. Dieses ist auch bei Node-RED beschrieben, leider fehlte ein kleiner Hinweis.

 

Ein Passwort Hash erzeugen

Das zu verwendende Passwort muss als Hash in die settings.js von Node-RED hinterlegt werden. Dieses erledigt ihr  mit den Admin CLI Tools, welche aber vorher installiert werden müssen.


sudo npm install -g node-red-admin

Anschließend könnt ihr den Hash für euer Passwort erzeugen. Ihr werdet nach dem Passwort gefragt und erhaltet als Ausgabe den Hash.


sudo node-red-admin hash-pw

 

Konfig Datei anpassen

Nun könnt ihr die Konfiguration in der settings.js anpassen. In meinem Fall liegt die Datei unter /home/pi/.node-red/settings.js. Mittel ps -ef|grep node-red, könnt ihr sehen, unter welchem User Node-RED läuft, bei mir als User pi.

 

    adminAuth: {
        type: "credentials",
        users: [{
            username: "admin",
            password: "your hash",
            permissions: "*"
        }]
    },

Damit habt ihr einem User admin alle Berechtigungen erteilt. Nach einem Neustrat von Node-RED mittels sudo service nodered restart, begrüßt euch euer Node-RED mit einer Login Maske. Es ist auch möglich weitere User einzurichten die nur eine Leseberechtigung besitzen.

 

Node-RED Passwort abfrage

Somit habt ihr den Zugang abgesichert und könnt euer Node-RED von extern erreichbar machen. Eure Familienmitglieder können nun ebenfalls keine ungewollten Änderungen mehr durchführen.

Schreibe einen Kommentar

%d Bloggern gefällt das: