Mainsail und Fluidd per Login schützen

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

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

  1. County Name: DE
  2. State: Mainsail
  3. Locality Name: Mainsail
  4. Organisation: Mainsail
  5. Oraganizational UNit Name: Mainsail
  6. Common name: Mainsail
  7. 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

Vor die IP gehört jetzt ein https://

image.png

Fluidd mit Passwort schützen:

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

  1. Öffne die Einstellungen von Fluid und lege einen Nutzer an.
    Siehe Bild
image.png
image.png

Füge folgendes in deiner moonraker.conf ein

[authorizations]
force_logins: true

image.png

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