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:
Alle betreffenden w-LAN-Mac-IDs in workstations händisch hinterlegt und mit eindeutigen IPs ausgestattet.
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).
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.
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.
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.
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
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.
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
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.
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?
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?
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.
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.
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.)
#!/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