meta data for this page
- de-informal
Dies ist eine alte Version des Dokuments!
Installation von Node-RED
Für die Installation von Node-RED steht jeder Schülerin und jedem Schüler eine virtuelle Maschine mit einem aktuellen Ubuntu Linux zur Verfügung. Diese Maschine kann per SSH (Anleitung siehe unten) oder über die Proxmox-Weboberfläche administriert werden.
Installation
Die Installation von Node-RED kann auf verschiedene Arten erfolgen. Am einfachsten ist dies auf unserem System mittels Snap. Damit dies funktioniert, müssen zuerst die Pakete squashfuse und snapd installiert werden. Das geht mit dem Befehl
apt -y install squashfuse snapd
Danach solltest du das System rebooten.
reboot
Nach erfolgreichem Reboot kannst du Node-RED mittels Snap installieren:
snap install node-red
Falls die Installation fehlschlägt, versuche es noch einmal.
Snap startet Node-RED zukünftig automatisch bei jedem Systemstart mit. Du brauchst dich darum nicht mehr zu kümmern.
Absicherung des Zugangs
Da diese Node-RED-Installation aus dem gesamten Schulnetz erreichbar ist, muss die Web-GUI gegen unbefugte Benutzung abgesichert werden. Einen Grundlegenden Schutz bietet eine Passwortsicherung für den Admin-Zugriff. Im Produktivbetrieb wäre es unabdingbar zusätzlich auch für eine verschlüsselte Übertragung mittels TLS zu sorgen.
Der Passwortschutz wird aktiviert, indem in der Konfigurationsdatei die Kommentarzeichen vor dem entsprechenden Block entfernt werden und der bcrypt-Hash-Wert durch einen selbst erzeugten ausgetauscht wird.
Der Pfad zur Konfigurationsdatei lautet bei einer Installation via Snap: /var/snap/node-red/current/settings.js
/******************************************************************************* * Security * - https * - httpsRefreshInterval * - requireHttps * - httpNodeAuth * - httpStaticAuth ******************************************************************************/ /** To password protect the Node-RED editor and admin API, the following * property can be used. See http://nodered.org/docs/security.html for details. */ //adminAuth: { // type: "credentials", // users: [{ // username: "admin", // password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.", // permissions: "*" // }] //},
Ein Hash-Wert für ein neues Kennwort lässt sich z. B. online auf: https://bcrypt-generator.com/ erzeugen. Das ist aus Sicherheitsgesichtspunkten bei einem Produktivsystem nicht optimal aber für unseren Anwendungsfall in Ordnung. Auf diese Weise brauchen wir nicht noch zusätzliche Software zu installieren.
Danach sollte das Snap neu gestartet werden:
snap restart node-red
SSH-Login mit Passwort für root aktivieren
Die Anmeldung mit Benutzername und Kennwort ist für root
auf modernen Linux-Systemen aus Sicherheitsgründen deaktiviert. Um dieses Feature zu aktivieren, muss auf Ubuntu die Datei /etc/ssh/sshd_config
bearbeitet werden, z. B. mit dem Editor nano.
Dort muss die Konfigurationszeile PermitRootLogin
aktiviert und auf yes
gestellt werden. Anschließend muss der SSH-Dienst neu gestartet oder die VM rebootet werden.
# Auf der Kommandozeile die Konfigurationsdatei mit dem Editor Nano öffnen nano /etc/ssh/sshd_config # alte Konfigurationszeile #PermitRootLogin prohibit-Password # neue Konfigurationszeile PermitRootLogin yes # speichern und beenden und auf der Kommandozeile den SSH-Dienst neu starten systemctl restart ssh # oder neu booten reboot