Come connettersi a una rete wireless 802.1x tramite nmcli


11

Sono in grado di connettermi a reti 802.1 tramite l'app nm. Non mi piace farlo poiché sto correndo senza un nm la maggior parte delle volte e odio caricarne uno solo per connettermi a una rete wireless.

Quando mi connetto a una rete 802.1 ottengo il seguente errore:

Error: Failed to add/activate new connection: (32) Failed to determine AP security information

Non so come aggirare questo dato che nmcli non sembra fornire alcun mezzo per specificare il tipo di rete.


ricevi questo messaggio di errore quando provi a creare un nuovo profilo di connessione?
Rabin,

@Rabin Questa è una nuova connessione. Non stavo cercando di creare un nuovo profilo, né di capire in quale contesto stai usando il nuovo profilo di connessione. Stavo semplicemente cercando di connettermi ad esso usando nmcli d wifi connect eduroam .....
tensai

Uso uno script che chiama nmcli in questo modo nmcli con up 'connection-uuid', ma prima devo avere questa connessione nel mio NetworkManager.
Rabin,

Sì, questo era il mio problema. Se non mi sono mai connesso alla rete prima, come faccio. Ci sono molte situazioni in cui non riesco ad avviare un'interfaccia utente. Mi sono collegato a questo tipo di reti prima di utilizzare WPA-supplicant e configurare manualmente i file di configurazione
tensai

Come ha detto @tensai, potrebbe avere senso configurare manualmente usando il nmcli con editcomando.
febbre Sogna il

Risposte:


15

Puoi creare una connessione WPA2 Enterprise usando una nmcliriga di comando come (sostituisci il tuo nome del dispositivo wifi wlp3s0e così via):

nmcli connection add \
 type wifi con-name "MySSID" ifname wlp3s0 ssid "MySSID" -- \
 wifi-sec.key-mgmt wpa-eap 802-1x.eap tls 802-1x.identity "USERNAME" \
 802-1x.ca-cert ~/ca.pem 802-1x.client-cert ~/cert.pem \
 802-1x.private-key-password "..." 802-1x.private-key ~/key.pem

Verrà quindi elencato sotto nmcli connectione può essere visualizzato utilizzando nmcli connection up MySSID.

Autenticazione con nome utente e password

(Questa sezione è stata aggiunta utile da un collaboratore che modifica il post :)

Oppure, se si utilizza un'autenticazione nome utente / password (probabilmente tramite RADIUS) è ​​possibile utilizzare il comando seguente per aggiungerlo (utilizzare l' 802-1x.eapopzione corretta per la propria rete, l'esempio di ttlscome di seguito non richiede la definizione di un certificato) e quindi utilizzare --askla prima volta che vai a connetterti per salvare la password nel file di connessione.

nmcli connection add \
 type wifi con-name "MySSID" ifname wlp3s0 ssid "MySSID" -- \
 wifi-sec.key-mgmt wpa-eap 802-1x.eap ttls \
 802-1x.phase2-auth mschapv2 802-1x.identity "USERNAME" 

Se si utilizza l'opzione di username / password si dovrebbe aggiungere --askdopo nmclila prima volta che lo si porta fino a salvare la password senza lasciare nella vostra cronologia dei comandi. Ti darà un messaggio di errore che dice tanto quando tenti di farlo apparire diversamente. Probabilmente ti verranno richieste ulteriori impostazioni wireless durante l'utilizzo --ask, puoi digitare noper loro a meno che non sia necessario specificare un IP statico, nel qual caso rispondere yesa tale opzione e impostare le informazioni corrette, e in futuro non dovresti aver bisogno di usare --aska meno che la tua password non cambi.

Esplorazione di nmcli da soli

In generale, lo spazio delle possibili nmcliimpostazioni può essere esplorato aggiungendo le parole asdf.asdf asdfalla fine della riga di comando per produrre un messaggio di errore che indica quali parole sono possibili sostituzioni per la prima asdf. Scegline uno, quindi visualizzerai un messaggio di errore che elenca le possibili impostazioni secondarie per il secondo asdf. Scegli uno di quelli e vedrai le possibili impostazioni:

$ nmcli connection add ... asdf.asdf asdf
Error: invalid or not allowed setting 'asdf': 'asdf' not among [connection, 802-11-wireless (wifi), 802-11-wireless-security (wifi-sec), 802-1x, ipv4, ipv6].
$ nmcli connection add ... wifi-sec.asdf asdf
Error: invalid property 'asdf': 'asdf' not among [key-mgmt, wep-tx-keyidx, auth-alg, proto, pairwise, group, leap-username, wep-key0, wep-key1, wep-key2, wep-key3, wep-key-flags, wep-key-type, psk, psk-flags, leap-password, leap-password-flags].
$ nmcli connection add ... wifi-sec.proto asdf
Error: failed to modify wifi-sec.proto: 'asdf' not among [wpa, rsn].

Esaminando tutte le impostazioni secondarie, sono stato in grado di mettere insieme la riga di comando di successo mostrata sopra. L'unica sorpresa è stata che la password deve precedere il percorso della chiave privata: se la inserisci in un secondo momento, non ha alcun effetto!


7

nmcli Wifi

Ottieni lo stato Wifi

nmcli radio wifi

Attiva o disattiva il wifi

nmcli radio wifi <on|off>

Elenca i punti di accesso disponibili (AP) a cui connettersi

nmcli device wifi list

Aggiorna l'elenco precedente

nmcli device wifi rescan

Crea una nuova connessione a un AP aperto

nmcli device wifi connect <SSID|BSSID>

Creare una nuova connessione a un AP protetto da password

nmcli device wifi connect <SSID|BSSID> password <password>

fonte: http://fedoraproject.org/wiki/Networking/CLI#Wifi


1
Conosco tutte queste opzioni :( Nessuna di queste sembra applicabile per le reti 802.1X. Sicuramente questo è spiegato in qualche modo poiché posso collegarmi tramite l'applet.
Tensai

@tensai, sto riscontrando lo stesso problema: "Errore: impossibile aggiungere / attivare la nuova connessione: (32) 802-11-wireless-security.psk: proprietà non valida"
tslater,

@tensai, cosa vedi nell'output di journalctl?
Rabin,

Niente in questa risposta ha alcuna rilevanza per 802.1X. Sono indeciso per vedere quanto sia rilevante per la domanda.
Charles Duffy,


2

Sembra che nmcli non sia in grado di connettersi alle reti WPA2-enterprise. Le reti devono essere configurate o create manualmente tramite le varie applet.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.