Cómo conectarse a una red inalámbrica 802.1x a través de nmcli

11

Puedo conectarme a redes 802.1 a través del nm-applet. No me gusta hacer esto, ya que estoy corriendo sin un nm la mayor parte del tiempo y odiaría cargar uno solo para conectarme a una red inalámbrica.

Cuando me conecto a una red 802.1 me sale el siguiente error:

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

No sé cómo solucionar esto, ya que nmcli no parece proporcionar ningún medio para especificar el tipo de red.

Tensai
fuente
¿Recibe este mensaje de error cuando intenta crear un nuevo perfil de conexión?
Rabin
@Rabin Esta es una nueva conexión. No estaba tratando de hacer un nuevo perfil, o entender en qué contexto estás usando un nuevo perfil de conexión. Simplemente estaba tratando de conectarme usando nmcli d wifi connect eduroam .....
tensai
Uso un script que llama a nmcli de esta manera nmcli con up 'connection-uuid', pero primero debo tener esta conexión en mi NetworkManager.
Rabin
Sí, este fue mi problema. Si no me he conectado a la red antes, ¿cómo lo hago? Hay muchas situaciones en las que no puedo iniciar una interfaz de usuario. He conectado a este tipo de redes antes de usar WPA-solicitante y la configuración de los archivos de configuración manualmente
Tensai
Como dijo @tensai, podría tener sentido configurar manualmente usando el nmcli con editcomando.
feverDream

Respuestas:

15

Puede crear una conexión WPA2 Enterprise utilizando una nmclilínea de comando como (sustituya su propio nombre de dispositivo 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

Luego aparecerá en la lista nmcli connection, y puede abrirse usando nmcli connection up MySSID.

Autenticando con un nombre de usuario y contraseña

(Esta sección fue útilmente agregada por un colaborador que editó la publicación :)

O si usa una autenticación de nombre de usuario / contraseña (probablemente a través de RADIUS) puede usar el siguiente comando para agregarlo (use la 802-1x.eapopción correcta para su red, el ejemplo de ttlsabajo no requiere la definición de un certificado) y luego use --askla primera vez que vaya a conectarse para guardar la contraseña en el archivo de conexión.

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 usa la opción de nombre de usuario / contraseña, debe agregarla --askdespués de nmclila primera vez que la abre para guardar la contraseña sin dejarla en su historial de comandos. Le dará un mensaje de error que dice tanto cuando intente abrirlo de otra manera. Probablemente se le preguntará acerca de la configuración inalámbrica adicional cuando la use --ask, puede escribirla noa menos que necesite especificar una IP estática, en cuyo caso responda yesa esa opción y configure la información correcta, y en el futuro no debería necesitar usar --aska menos que su contraseña cambie.

Explorando nmcli por tu cuenta

En general, nmclise puede explorar el espacio de configuraciones posibles agregando las palabras asdf.asdf asdfal final de la línea de comando para producir un mensaje de error que indique qué palabras son posibles sustituciones para la primera asdf. Elija uno, y luego recibirá un mensaje de error que enumera las posibles configuraciones secundarias para el segundo asdf. Elija uno de esos, y verá las configuraciones posibles:

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

Al iterar a través de todas las configuraciones secundarias, pude armar la línea de comando exitosa que se muestra arriba. La única sorpresa fue que la contraseña debe preceder a la ruta de la clave privada: si la ingresa más tarde, ¡no tiene ningún efecto!

Brandon Rhodes
fuente
7

nmcli Wifi

Obtener el estado de Wifi

nmcli radio wifi

Activa o desactiva el wifi

nmcli radio wifi <on|off>

Lista de puntos de acceso (AP) disponibles para conectarse

nmcli device wifi list

Actualizar lista anterior

nmcli device wifi rescan

Crear una nueva conexión a un AP abierto

nmcli device wifi connect <SSID|BSSID>

Cree una nueva conexión a un AP protegido por contraseña

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

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

Rabin
fuente
1
Sé que todas estas opciones :( Ninguno de ellos parece aplicable para redes 802.1X aunque Seguramente esto se tiene en cuenta de alguna manera ya que puedo conectar a través del applet..
Tensai
@tensai, tengo el mismo problema: "Error: no se pudo agregar / activar una nueva conexión: (32) 802-11-wireless-security.psk: la propiedad no es válida"
tslater
@tensai, ¿qué puedes ver en la salida de journalctl?
Rabin
Nada en esta respuesta tiene relevancia alguna para 802.1X. Me cuesta ver cómo es relevante para la pregunta.
Charles Duffy
6

NetworkManager puede generar perfiles WPA2 Enterprise con interfaces gráficas. nmcli y  nmtui no lo admite, pero puede usar perfiles existentes.

Más información sobre la conexión a redes WPA2_Enterprise

empuje
fuente
nmclino permite contraseñas complejas que contengan caracteres especiales; sin embargo, nmtuipermite esto y mucho más :) - Gracias @hurst
Achilles
2

Parece que nmcli no puede conectarse a redes empresariales WPA2. Las redes deben configurarse manualmente o crearse a través de los distintos applets.

Tensai
fuente