Ubuntu-Clients über "workstations" an das w-LAN grün anbinden

Hallo liebe Liste,

ich habe heute verzweifelt versucht, Ubuntu 18.04-Clients über w-LAN auf unser grünes Netz zugreifen zu lassen.

Folgende Schritte habe ich getan:

  1. Alle betreffenden w-LAN-Mac-IDs in workstations händisch hinterlegt und mit eindeutigen IPs ausgestattet.
  2. w-LAN-Passwort über den Image-Admin hinterlegt (das klappte jedoch nur für diesen PC, bei dem ich das Passwort hinterlegt hatte. Der kommt jetzt einwandfrei ins Netz, die anderen jedoch mit dem Image nicht).
  3. Alle Clients einzeln über den linuxadmin die w-LAN-Netzwerkzugangsdaten hinterlegt. Hier synchronisiert der Client jedoch und dann ist alles weg.

Gibt es hier einen speziellen Trick, wie ich die Clients über grün ohne Coova authentifizieren kann? Postsyncanpassung? Clientanpassung, so dass es für alle passt?

Ach so, ich bin noch auf linuxmuster 6.2, nicht auf 7.

Ich danke für eure Hilfe,
Marcus

Ich habe ein System auf Basis Ubuntu 16.04 (genauer Linux Mint 18.3). Dort ist das Vorgehen wie folgt:

  • Wlan-MAC-Adressen registrieren (sonst haben die Geräte Wlan, aber keinen Inter-/Intranet-Zugang)
  • auf einem der Notebooks das aktuelle Image laden
  • Im Image mit dem Image-Administrator (linuxadmin) das grüne Wlan verbinden
  • Image vom Notebook erstellen
  • Image auf die anderen Rechner ausrollen.

Das hat bisher bei uns so funktioniert.

Viel Erfolg!
Roland

Hallo,

hier im Forum gibt es eien Anleitung, was man wo in ubuntu einträgt,
dass die Verbindung mit dem selben WPA2 key schon vor dem login
aufgebaut wird.
Ich hatte es in der lmn62 so in meinem alten Netz.

Leider hab ich grad nicht die Zeit zu suchen…

LG

Holger

Wenn man Benutzer mit sudo Rechten auf dem System hat, kann man das Passwort im Klartext unter /etc/NetworkManager/system-connections/ einsehen. Alternativ wäre der Weg über wpa_supplicant.

Näheres hier: Linux Clients automatisch im WLAN - #9 von baumhof

vG Stephan

Hallo Stephan,

vielen Dank für die Antwort.

Muss hier noch in permissions irgendetwas eingetragen werden? Das Netz und der Netzwerkschlüssel sind in der betreffenden Datei hinterlegt. Jedoch funktioniert die Verbindung hier nicht.
LG
Marcus

Hallo Roland,

Ich hatte dies so auch gedacht und gemacht. In betreffender Datei /etc/NetworkManager/system-connections/ sind auch die Zugangsdaten hinterlegt. Jedoch hat es beim Rollout nicht mehr auf den neu bespielten Rechnern funktioniert.

Bleibt hier nur noch der Weg über wpa_supplicant? Oder gibt es noch eine andere Möglichkeit. Ich habe nicht unbedingt lust drauf, die Probleme von Holger im Netzwerkmanagement auf den neuen Rechnern zu haben.

Herzliche Grüße
Marcus

Hallo Marcus,

wahrscheinlich hast du’s schon lange gelöst…
Trotzdem: Ich mach das einwählen ins WLAN vor dem Login über Postsync und die rc.local.
Hier ein Beispiel für eine Laptopbox (box1)
–> Server: var/linbo/linuxmuster-client/xubuntu/box1/etc/rc.local

#!/bin/bash
/bin/sleep 5
/usr/bin/nmcli dev wifi connect "SSID" password "Passwort"
/bin/sleep 3 
exit 0

Den Sleep habe ich eingebaut, da ältere Rechner bisschen rum gezickt haben. Kann man vermutlich auch weg lassen…
So fahre ich seit nem halben Jahr ganz gut.

Grüße,

David

3 „Gefällt mir“

Hallo David - und die anderen.
Deine Lösung halte ich für ziemlich gut. Works for me.
Habs in der lmn6.2 unter xubuntu ausprobiert. Dadurch dass es in der rc.local steht, können angemeldete SuS den WLAN-PSK nicht sehen.
Auch nicht über das NetworkManager-Applet > Verbindungen bearbeiten. Es wird das Passwort des Linuxadmins abgefragt.
Wird ja vermutlich unter lmn7 oder anderen Desktops auch so sein…?

Unter dem Strich ist das für mich eine bessere Lösung als mit wpa_supplicant… Die Verwaltung der WLAN-Verbindungen bleibt beim NetworkManager, so dass die User auch mal in ein anderes Netzwerk wechseln können.

Einzig: Gerne hätte ich den PSK nicht im Klartext in der rc.local stehen. Ich habe es noch nicht getestet, aber diese Anleitung lässt darauf hoffen, dass man auch einen Hash übergeben kann.

Danke für die schöne Lösung.
Ich finde man kann Davids Post mit einem grünen Haken versehen… Oder übersehen ich einen Flaw?

Grüße
Michael

1 „Gefällt mir“

Hallo Michael!

Dein Wunsch war mir Befehl. :wink:

@no_idea und @sedding: Hat einer von euch Bock daraus ein Kapitel für die Doku zu machen?

Besten Gruß

Thorsten

Hallo!

macht es das besser? Dann kann jemand, der das ausliest sich doch genauso verbinden, oder?
OK, die technische Hürde ist größer…
LG Max

Hallo David!

Funktioniert diese Lösung auch mit einem aktuellen ubuntu bzw. bei uns LinuxMint 20.3?

Wie mach ich das denn genau - ich hab noch keine Erfahrung mit postsync…

Vielen Dank!

Grüße Noah

Hallo,

die Lösung von @no_idea den network-manager für die WLAN-Verbindung der Laptops mittels

/usr/bin/nmcli dev wifi connect "SSID" password "Passwort"

zu verwenden finde ich sehr ansprechend. Aber wie verhindert man das einfache Auslesen des PSK (WLAN-Passwort)?

Wenn man den network-manager verwendet, kann man den PSK inkl. QR-Code anzeigen lassen:

nmcli device wifi show-password

Außerdem kann man sich auch als normaler Benutzer über die GUI das Passwort anzeigen lassen (unter Verbindung bearbeiten, Sicherheit…, Passwort anzeigen).

Kann man den network-manager so manipulieren, dass der PSK vom network-manager gespeichert wird, aber nicht von einem Benutzer ausgelesen werden kann?

Beste Wünsche!
Stefan

Hallo Stefan,

https://ask.linuxmuster.net/t/linux-clients-automatisch-im-wlan/2020/8

Gruß Jürgen

-----Original-Nachricht-----

Hallo Jürgen,

Danke für den Link. Leider wurde mir aus dem Diskussionsverlauf das Thema nicht klarer.

Mich würde z.B. interessieren:
Verwendest Du jetzt den network-manager ohne oder mit wpasupplicant?
Ist dann der PSK mit nmcli device wifi show-password für jeden auslesbar oder nicht?

Ein strukturierteren Lösungsansatz habe ich hier versucht - wer Antworten auf Teile hat, bitte dort posten…

Mit der Bitte um Hilfe, das Thema strukturierter zu fassen.

Stefan

Hallo Stefan,

Das was ich gemacht hab, war mit Kubuntu 14.04 und ist hier leider nicht doumentiert https://wiki.linuxmuster.net/community/anwenderwiki:linuxclient:kubuntu

Ich hatte zunächst wpasupplicant benutzt und den Network Manager genau wegen der Auslesbarkeit der Kennwörter rausgeworfen. nmcli sollte damit nicht mehr verfügbar gewesen sein. Da die Notebooks mit keinem anderen WLAN Verbindung aufnehmen sollten, war das ausreichend und auch dem Gerät unbekannte Domänenbenutzer konnten sich daran erstmalig anmelden.
In späteren Versionen war das Auslesen von gespeicherten PSK mit dem Network Manager zumindest benutzerübergreifend nicht mehr möglich (-> keyring?). Man müsste natürlich aufpassen, was bei der ersten Anmeldung aus dem Profil von linuxadmin kopiert wird.

Gruß Jürgen

Hallo,

und Danke für die Infos! Ich habe damit einiges ausprobieren können und seit heute ebenfalls eine Lösung im Einsatz mit:

/usr/bin/nmcli dev wifi connect "SSID" password "Passwort"


Eckdaten:

  • Server: LMN_v7.0
  • Clients: Linux-Mint-XFCE_20.3, versch. WLAN-Karten

Lösungsansatz:

  • Beim Booten des Linux-OS wird die WLAN-Verbindung im network-manager eingetragen - automatisch mit der Bezeichnung der jeweiligen Netzwerkkarte *1)
  • Dadurch ist die WLAN-Verbindung bereits beim Login verfügbar

Umsetzung:

  • Skript „60_cw.sh“, welches beim Booten eine WLAN-Verbindung in den network-manager einträgt.
    Dadurch sollte der Eintrag bei allen Netzwerkkarten-Bezeichnungen funktionieren (2 getestet).
    Es sind keine weiteren Anpassungen nötig z.B. bei LINBO *2)
  • Das Ausführen beim Booten kann man z.B. per Hook-Skript (client-side onBoot) machen oder auch per postsync. Ich verwende übrigens nur noch Hook-Skripte und habe das Skript auf den Client daher kopiert nach: /etc/linuxmuster-linuxclient7/onBoot.d/
    Hook scripts · linuxmuster/linuxmuster-linuxclient7 Wiki · GitHub
  • Aus dem network-manager sind die WLAN-Zugangsdaten nur für Nutzer mit root-Rechten auslesbar (GUI, nmcli device wifi show-password und Dateien getestet) .
  • Die WLAN-Zugangsdaten für das Skript werden gesondert hinterlegt und sind auch nur für Nutzer mit root-Rechten auslesbar (getestet).
  • Zum Eintragen der WLAN-Zugangsdaten gibt es ein zweites, nur einmal anzuwendendes Skript „cw_SSID_PSK_speichern.sh“
  • Beim Erstellen des Images gelangt der WLAN-Eintrag des Image-PCs in die Konfig-Dateien des network-managers unter /etc/NetworkManager/system-connections/. Das ist nicht problematisch, da weitere Verbindungen zum selben Netzwerk einfach parallel angelegt werden.
  • Mehr Infos direkt in den Skripten…

*1) Eine alternative Lösung ist, allen versch. Netzwerkkarten nur eine Bezeichnung zuzuweisen, so dass der eine Eintrag im network-manager, den man als linuxadmin macht, für alle passt. (Man könnte evtl. auch beide Lösungen gemeinsam einsetzen.)

*2) Dies hat u.a. @rettich hier beschrieben:


Und hier die Skripte:

1. 60_cw.sh

#!/bin/bash

# client-side onBoot-Skript linuxmuster.net 7.0
# _cw.sh
#
# connect-wifi-Skript um einem Client Zugang zum WLAN zu ermöglichen
#
# Zugehöriges Skript:
# cw_SSID_PSK_speichern.sh
#
# Mehr Infos:
# https://github.com/linuxmuster/linuxmuster-linuxclient7/wiki/Hook-scripts
#
#
# Anleitung:
# Kopieren Sie das Skript nach 
# /etc/linuxmuster-linuxclient7/onBoot.d/
#
# und passen Sie die Rechte an z.B. mit:
# sudo chown root:root /etc/linuxmuster-linuxclient7/onBoot.d/dateiname
# sudo chmod 700 /etc/linuxmuster-linuxclient7/onBoot.d/dateiname
#
#
# Linux Mint 20.3 Xfce 64bit
# 2023-08-17
# GPL v3
# Sen


/usr/bin/nmcli dev wifi connect "$(openssl base64 -d -in /usr/local/bin/.cw_ss)" password "$(openssl base64 -d -in /usr/local/bin/.cw_ps)"


exit

2. cw_SSID_PSK_speichern.sh

#!/bin/bash

# Client-root-Skript
# cw_SSID_PSK_speichern.sh
#
# Zugehörig zu Skript:
# _cw.sh
#
# Hinterlegt verschlüsselt ihre WLAN-Anmeldedaten für das connect-wifi-Skript _cw.sh
#
#
# Anleitung:
# Ersetzen Sie unten WLAN-Passwort und WLAN-Name mit ihren Daten,
# machen Sie das Skript ausführbar
# und führen Sie dieses Skript als root im Terminal aus.
# Löschen Sie danach unbedingt das Skript vom Client!
#
#
# Linux Mint 20.3 Xfce 64bit
# 2023-08-17
# GPL v3
# Sen


### Ihre WLAN-Anmeldedaten

PSK="WLAN-Passwort"

SSID="WLAN-Name"


### Programm

sudo echo -n "$SSID" | openssl enc -base64 > /usr/local/bin/.cw_ss && sudo chown root:root /usr/local/bin/.cw_ss && sudo chmod 600 /usr/local/bin/.cw_ss

sudo echo -n "$PSK" | openssl enc -base64 > /usr/local/bin/.cw_ps && sudo chown root:root /usr/local/bin/.cw_ps && sudo chmod 600 /usr/local/bin/.cw_ps


exit

Beste Wünsche!
Stefan