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-EAP sowie identity und password.
  • Mit systemd: systemctl enable wpa_supplicant@wlan0 startet den Dienst pro Interface.
  • Nach Änderungen an der Konfigurationsdatei den Daemon neu starten oder wpa_cli reconfigure aufrufen.

Verwandte Grundlagen: WPA2, WPA3, EAP, dot1x.