Mainsail und Fluidd mit Passwort schützen
Hallo.
Hier schauen wir uns an, wie wir unsere Webanwendung Mainsail oder Fluidd mit einem Login schützen können.
Wir empfehlen euch Fluidd für diesen Einsatzzweck zu Nutzen
Hinweis:
Hattet ihr fluidd installiert und wollt dann wieder auf Mainsail, dann solltet ihr über kiauh Klipper, Moonraker, Mainsail und die Mainsail.conf löschen. Zusätzlich löscht aus dem ~/printer_data/config die moonraker.conf
Damit ein passwortgeschützer Login nicht durch Network-Sniffing über das http Protokoll abgegriffen werden kann, solltest du https (verschlüsselter Datenverkehr) aktivieren.
Backup eurer Konfig und Database
cp -r ~/printer_data ~/backup_printer_data
Benötigte Anwendungen installieren
sudo apt install apache2-utils
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/mainsail.key -out /etc/nginx/mainsail.crt
-days = Wie viel Tage gültig -> Hier 10 Jahre
-keyout = Hier wird der Ablageort und Name des Keys festgelegt „mainsail.key“
-out = Hier wird der Ablageort und Name der crt Datei festgelegt „mainsail.crt“
Welche Daten sind wichtig im Konfigurationsmenü der Zertifikatserstellung
- County Name: DE
- State: Mainsail
- Locality Name: Mainsail
- Organisation: Mainsail
- Oraganizational UNit Name: Mainsail
- Common name: Mainsail
- Email Adress:
Konfig sichern:
sudo cp /etc/nginx/sites-available/mainsail /etc/nginx/sites-available/backup.mainsail
Konfig bearbeiten:
sudo nano /etc/nginx/sites-available/mainsail
So soll es aussehen:
server { listen 80 default_server; server_name _; return 301 https://$host$request_uri; } server { # auth_basic "user login"; # auth_basic_user_file /etc/nginx/.htpasswd; listen 443 ssl default_server; ssl_certificate /etc/nginx/mainsail.crt; ssl_certificate_key /etc/nginx/mainsail.key; access_log /var/log/nginx/fluidd-access.log; error_log /var/log/nginx/fluidd-error.log;
Nginx neustarten:
sudo systemctl restart nginx
Wichtiger Letzer Schritt: Passt euere Verbindung im Slicer an! Für den SuperSlicer habe ich leider keine Lösung, wie ihr https erreichen könnt
Fluidd mit Passwort schützen:
Installation über Kiauh:
Installiere Klipper auf deinem Druckerhttps://book.cryd.de/books/klipper/page/kiauh-installieren
Installieren -> Fluidd
Konfig sichern:
sudo cp /etc/nginx/sites-available/fluidd /etc/nginx/sites-available/backup.fluidd
Konfig bearbeiten:
sudo nano /etc/nginx/sites-available/fluidd
So soll es aussehen:
server { listen 80 default_server; server_name _; return 301 https://$host$request_uri; } server { listen 443 ssl default_server; ssl_certificate /etc/nginx/mainsail.crt; ssl_certificate_key /etc/nginx/mainsail.key; access_log /var/log/nginx/fluidd-access.log; error_log /var/log/nginx/fluidd-error.log;
Nginx neustarten:
sudo systemctl restart nginx
Füge folgendes in deiner moonraker.conf ein
[authorizations] force_logins: true
Hast du Probleme beim Login, lösche deinen Browsercache über die Einstellungen deines Browsers.
Oder nutze die Tastenkombination STRG+F5
Loggt euch per FTP oder SSH ein und ändert in der moonraker.conf diese Zeile so ab.
Danach einemal Cache leeren und ihr kommt wieder auf die Oberfläche und könnte euren Nutzer löschen und wieder anlegen.
#force_logins: true
Mainsail mit Passwort schützen
Öffnet Putty und verbindet euch:
sudo nano /etc/nginx/sites-available/mainsail
Jetzt fügt ihr folgendes unter „server“ hinzu:
#Nutzer Authentifizierung auth_basic "User Login"; auth_basic_user_file /etc/nginx/.htpasswd;
Verlasst den Editor mit STRG+X -> Y zum Bestätigen -> Enter zum Übernehmen des Namens
sudo htpasswd -c /etc/nginx/.htpasswd robin
robin = Nutzername, den ihr verwenden wollt
Wenn dieser Befehl nicht funktioniert, dann müsst ihr oben die benötigten Anwendungen installieren.
Ohne Nutzer und Passwort kommt ihr nicht auf die Weböberfläche. Daher ist der nächste Schritt wichtig!