Comment se connecter à un réseau sans fil 802.1x via nmcli

11

Je peux me connecter aux réseaux 802.1 via l'applet nm. Je n'aime pas faire cela car je cours sans nm la plupart du temps et je détesterais en charger un juste pour me connecter à un réseau sans fil.

Lors de la connexion à un réseau 802.1, j'obtiens l'erreur suivante:

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

Je ne sais pas comment contourner cela car nmcli ne semble pas fournir de moyen de spécifier le type de réseau.

tensai
la source
recevez-vous ce message d'erreur lorsque vous essayez de créer un nouveau profil de connexion?
Rabin
@Rabin Il s'agit d'une nouvelle connexion. Je n'essayais pas de créer un nouveau profil, ni de comprendre dans quel contexte vous utilisez un nouveau profil de connexion. J'essayais simplement de me connecter à l'aide de nmcli d wifi connect eduroam .....
tensai
J'utilise un script qui appelle nmcli comme ça, nmcli con up 'connection-uuid'mais je dois d'abord avoir cette connexion dans mon NetworkManager.
Rabin
Oui, c'était mon problème. Si je ne me suis pas connecté au réseau auparavant, comment dois-je le faire. Il existe de nombreuses situations où je ne peux pas démarrer une interface utilisateur. Je me suis connecté à ce type de réseaux avant d'utiliser wpa-supplicant et de configurer les fichiers de configuration manuellement
tensai
Comme l'a dit @tensai, il peut être judicieux de configurer manuellement à l'aide de la nmcli con editcommande.
feverDream

Réponses:

15

Vous pouvez créer une connexion WPA2 Enterprise à l'aide d'une nmcliligne de commande comme (remplacez le nom de votre propre appareil wifi wlp3s0, etc.):

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

Il sera ensuite répertorié sous nmcli connectionet peut être affiché à l'aide de nmcli connection up MySSID.

Authentification avec un nom d'utilisateur et un mot de passe

(Cette section a été utilement ajoutée par un contributeur qui a édité le message :)

Ou si vous utilisez une authentification par nom d'utilisateur / mot de passe (probablement via RADIUS), vous pouvez utiliser la commande ci-dessous pour l'ajouter (utilisez l' 802-1x.eapoption appropriée pour votre réseau, l'exemple ttlsci-dessous ne nécessite pas de certificat à définir), puis utilisez --askla première fois que vous vous connectez pour enregistrer le mot de passe dans le fichier de connexion.

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" 

Si vous utilisez l'option nom d'utilisateur / mot de passe, vous devez l'ajouter --askaprès nmclila première fois que vous l'avez affiché pour enregistrer le mot de passe sans le laisser dans l'historique de vos commandes. Il vous donnera un message d'erreur le disant lorsque vous tenterez de le faire autrement. Vous serez probablement invité à indiquer des paramètres sans fil supplémentaires lors de l'utilisation --ask, vous pouvez les saisir nosauf si vous devez spécifier une adresse IP statique, auquel cas répondez yesà cette option et définissez les informations correctes, et à l'avenir, vous ne devriez pas avoir besoin d'utiliser --asksauf si votre mot de passe change.

Explorer nmcli par vous-même

En général, l'espace des nmcliparamètres possibles peut être exploré en ajoutant les mots asdf.asdf asdfà la fin de la ligne de commande pour produire un message d'erreur indiquant quels mots sont des substitutions possibles pour le premier asdf. Choisissez-en un, puis vous obtiendrez un message d'erreur répertoriant les sous-paramètres possibles pour le second asdf. Choisissez l'un d'entre eux et vous verrez les paramètres possibles:

$ 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].

En parcourant tous les sous-paramètres, j'ai pu reconstituer la ligne de commande réussie illustrée ci-dessus. La seule surprise a été que le mot de passe doit précéder le chemin de la clé privée - si vous mettez le mot de passe plus tard, cela n'a aucun effet!

Brandon Rhodes
la source
7

nmcli Wifi

Obtenez le statut Wifi

nmcli radio wifi

Activer ou désactiver le wifi

nmcli radio wifi <on|off>

Liste des points d'accès disponibles (AP) auxquels se connecter

nmcli device wifi list

Actualiser la liste précédente

nmcli device wifi rescan

Créez une nouvelle connexion à un AP ouvert

nmcli device wifi connect <SSID|BSSID>

Créez une nouvelle connexion à un AP protégé par mot de passe

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

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

Rabin
la source
1
Je connais toutes ces options :( Cependant, aucune d'entre elles ne semble applicable pour les réseaux 802.1X. Cela tient sûrement compte d'une manière ou d'une autre puisque je peux me connecter via l'applet.
tensai
@tensai, j'ai le même problème: "Erreur: impossible d'ajouter / d'activer une nouvelle connexion: (32) 802-11-wireless-security.psk: la propriété n'est pas valide"
tslater
@tensai, que pouvez-vous voir dans la sortie de journalctl?
Rabin
Rien dans cette réponse n'a de rapport avec 802.1X. J'ai du mal à voir en quoi cela est pertinent pour la question.
Charles Duffy
6

NetworkManager peut générer des profils d'entreprise WPA2 avec des frontaux graphiques. nmcli et  nmtui ne le prennent pas en charge, mais peuvent utiliser des profils existants.

En savoir plus sur la connexion aux réseaux WPA2_Enterprise

hrust
la source
nmcline permet pas les mots de passe complexes contenant des caractères spéciaux; cependant, nmtuipermet cela et bien plus encore :) - Merci @hurst
Achilles
2

Il semble que nmcli ne puisse pas se connecter aux réseaux d'entreprise WPA2. Les réseaux doivent être configurés manuellement ou créés via les différentes applets.

tensai
la source