wpa_supplicant ist der WLAN-Client-Daemon des w1.fi-Projekts (Jouni Malinen) und übernimmt unter Linux die sichere Authentifizierung und Schlüsselaushandlung zu WPA2- und WPA3-Netzen. Zu den wpa_supplicant-Befehlen gehören der Daemon selbst sowie die Hilfswerkzeuge wpa_cli (interaktive Steuerung) und wpa_passphrase (PSK-Generierung).
Konfigurationsdatei
Die Netzprofile stehen in /etc/wpa_supplicant/wpa_supplicant.conf als network-Blöcke:
# WPA2-Personal (PSK)
network={
ssid="MeinNetz"
psk="mein-passwort"
key_mgmt=WPA-PSK
}
# WPA3-Personal (SAE)
network={
ssid="MeinNetz3"
psk="mein-passwort"
key_mgmt=SAE
}
# Versteckte SSID
network={
ssid="GeheimNetz"
psk="mein-passwort"
scan_ssid=1
}
Wichtige Kommandos
# PSK-Datei aus Passphrase erzeugen (ASCII-Passphrase in 64-Hex-PSK)
wpa_passphrase MeinNetz mein-passwort > /etc/wpa_supplicant/wpa_supplicant.conf
# Daemon starten (Hintergrund)
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
# Interaktive Steuerung
wpa_cli -i wlan0 status
wpa_cli -i wlan0 scan
wpa_cli -i wpa_supplicant scan_results
# Netzwerk zur Laufzeit anlegen (ohne Datei-Edit)
wpa_cli -i wlan0 add_network
wpa_cli -i wlan0 set_network 0 ssid '"MeinNetz"'
wpa_cli -i wlan0 set_network 0 psk '"mein-passwort"'
wpa_cli -i wlan0 set_network 0 key_mgmt WPA-PSK
wpa_cli -i wlan0 enable_network 0
wpa_cli -i wlan0 save_config
Nach erfolgreicher Verbindung vergibt ein DHCP-Client (dhclient, systemd-networkd oder NetworkManager) die IP-Adresse. Die Anzeige des Verbindungsstatus übernimmt wlan-befehle (iw/nmcli); die Gegenrichtung zum eigenen Access Point bilden hostapd-Befehle.
Praxis-Tipps
- Enterprise-Netze (WPA2/WPA3-Enterprise mit RADIUS) brauchen im network-Block
key_mgmt=WPA-EAPsowieidentityundpassword. - Mit systemd:
systemctl enable wpa_supplicant@wlan0startet den Dienst pro Interface. - Nach Änderungen an der Konfigurationsdatei den Daemon neu starten oder
wpa_cli reconfigureaufrufen.