¿Cómo me conecto a una red wifi WPA usando la línea de comando?

99

Así que, básicamente, me gustaría usar iwconfig para conectarme a mi red wifi cuando no estoy dentro de X. Pero simplemente no veo una manera de hacerlo en la página man. ¿Alguna idea?

    
pregunta Ken Kinder 17.05.2012 - 17:48

9 respuestas

95

iw (list / config) solo puede manejar WEP.

Necesita el paquete wpasupplicant que proporciona el comando wpa_supplicant , instálelo si es necesario a través de sudo apt-get install wpasupplicant .

Pones tu SSID y contraseña en /etc/wpa_supplicant.conf .

Ejemplo:

network={
    ssid="ssid_name"
    psk="password"
}

Suponiendo que su interfaz es wlan0, puede conectarse con:

sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext
sudo dhclient wlan0

"wext" es un controlador y eso será específico para cada tarjeta; refiérase a wpa_supplicant -h . Ejemplos:

hostap (default) Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxant DriverLoader).
hermes Agere Systems Inc. driver (Hermes-I/Hermes-II).
madwifi MADWIFI 802.11 support (Atheros, etc.).
atmel ATMEL AT76C5XXx (USB, PCMCIA).
wext Linux wireless extensions (generic).
ndiswrapper Linux ndiswrapper.
broadcom Broadcom wl.o driver.
ipw Intel ipw2100/2200 driver.
wired wpa_supplicant wired Ethernet driver
roboswitch wpa_supplicant Broadcom switch driver
bsd BSD 802.11 support (Atheros, etc.).
ndis Windows NDIS driver.
    
respondido por el Rinzwind 17.05.2012 - 17:57
68

Este enlace lo muestra todo y funcionó bien para mí: enlace

Copio los contenidos aquí, así que lo tenemos, en caso de que el sitio se desconecte.

Línea de comando WPA

A veces estará en una línea de comandos sin acceso a las herramientas de red de la GUI, pero su punto de acceso está protegido con WPA. ¿Qué haces?

Suponiendo que su tarjeta inalámbrica realmente funciona (es decir, iwconfig puede verla e interactuar con ella), usar wpa_supplicant es bastante simple. Instalación de wpa_supplicant

Actualmente, la mayoría de las distribuciones tienen wpa_supplicant instalado de manera predeterminada. Si tiene los comandos wpa_passphrase y wpa_supplicant disponibles, entonces está listo para comenzar. De lo contrario, deberá instalar el paquete haciendo algo como (para Ubuntu):

$ sudo apt-get install wpasupplicant

O (para Fedora):

# yum install wpa_supplicant

O cualquiera que sea el comando para su distribución.

Generando el archivo de configuración

Ahora que wpa_supplicant está instalado, crearemos su archivo de configuración. Una vez que conozca la frase de contraseña de SSID y WPA, todo lo que tiene que hacer es ejecutar:

$ wpa_passphrase myrouter mypassphrase > wpa.conf

Por supuesto, reemplace "myrouter" con el SSID de su enrutador, "mypassphrase" con su frase de contraseña WPA, y "wpa.conf" con cualquier archivo en el que desee almacenar la configuración. Este nombre de archivo no tiene que seguir un formato particular o tiene una extensión particular.

Alternativamente, para evitar escribir la contraseña en la línea de comando (para que no se guarde en el historial del shell), puede especificar solo el SSID en la línea de comando. wpa_passphrase esperará a que escriba la frase de contraseña seguida de enter:

$ wpa_passphrase myrouter > wpa.conf
mypassphrase

Deberías terminar con un archivo como este:

network={
    ssid="myrouter"
    #psk="mypassphrase"
    psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}

Cómo conectarse

Ahora vamos a ejecutar wpa_supplicant para conectarnos a la red inalámbrica. En primer lugar, si su enrutador transmite su SSID (todos lo hacen de manera predeterminada), probablemente quiera asegurarse de que su tarjeta inalámbrica realmente pueda verlo:

$ iwlist scan

Es posible que deba ejecutarlo como raíz para forzar una actualización.

A continuación, deberá conocer tres elementos de información:

  1. Qué controladores inalámbricos wpa_supplicant usar para su tarjeta. Ejecutar wpa_supplicant --help enumera los diferentes controladores que tiene (en "drivers:"). A partir de 0.5.8, las opciones útiles son: wext, hostap, madwifi, atmel, ndiswrapper e ipw (ipw es solo para kernels antiguos; & gt; = 2.6.13 debería usar wext). Si no ve una coincidencia específica para su tarjeta, intente con wext, ya que es una especie de catch-all.
  2. El dispositivo de red de tu tarjeta. Esto suele ser eth1 o wlan0, pero si no está seguro puede ejecutar iwconfig. Informará "sin extensiones inalámbricas" para dispositivos no inalámbricos y mostrará algunos datos para dispositivos inalámbricos.
  3. La ruta al archivo de configuración que creó en el paso anterior.

Ahora que tiene estos datos, ejecute (como raíz):

# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]

No hay espacios entre las opciones y los parámetros. No incluya los corchetes ya que los agregué para mayor claridad. Por ejemplo, para mi computadora portátil se ve así:

# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf

También puede ejecutarlo en segundo plano utilizando la opción -B para que no ocupe su consola.

Ahora está asociado a la red.

Cómo conectarse

Para conectarse a Internet, deberá obtener una IP de alguna manera. La mayoría de la gente querrá obtener una IP dinámica de un servidor DHCP, probablemente la que está integrada en el enrutador. (No voy a cubrir la configuración de un IP estático y una tabla de enrutamiento porque es una bestia en sí misma).

Para obtener un arrendamiento de DHCP, primero libere los arrendamientos que aún tenga (como raíz):

# dhclient -r

Luego solicite un nuevo contrato de arrendamiento (por supuesto, reemplace eth1 con el nombre de su dispositivo de red, el mismo que utilizó en la sección anterior):

# dhclient eth1

Ahora tiene una IP, en teoría al menos. ¡Feliz navegación!

    
respondido por el Alexandre Schmidt 08.04.2013 - 21:44
5

Debian y otras distribuciones tienen wpa_suplicant ejecutándose como un servicio por defecto para administrar las redes wifi. wpa_suplicant puede ser manejado por diferentes clientes / front-ends como la GUI del administrador de red. Esto se explica mejor en esta wiki de Debian .

wpa_cli es el cliente de línea de comando wpa_suplicant para administrar las redes wifi.

Editar : Acabo de encontrar esta publicación explicando cómo usar nmcli y es Mucho mejor que wpa_cli ya que es compatible con GUI Network Manager y sus configuraciones y redes wifi guardadas.

Ejemplo de uso de wpa_cli :

Comprueba que ya tengo una interfaz de red con wifi habilitado:

# iwconfig
wlan0     IEEE 802.11bgn  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=22 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on

Verifique si el proceso wpa_suplicant se está ejecutando:

# ps -e | grep wpa
1881 ?        00:00:07 wpa_supplicant

Entrar en el modo interactivo del cliente wpa:

# wpa_client

Lista de puntos de acceso disponibles:

> scan
> scan_results

... y obtienes algo como esto:

bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f       2417    -66     [WPA2-PSK-CCMP][ESS]    vodafone817E
e0:60:66:61:83:4b       2452    -76     [WPA2-PSK-CCMP][WPS][ESS]       vodafone834A
f8:8e:85:c5:65:c2       2462    -76     [WPA-PSK-CCMP+TKIP][WPS][ESS]   MOVISTAR_65C1
a8:d3:f7:46:0c:be       2472    -83     [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS]       Orange-0CBC
...

Agregue su AP:

> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"

Selecciónelo como actual:

> enable_network 0

Conéctese a él:

> reconnect

Verifique el estado:

> status

Salir de wpa_cli:

> quit

Desde el shell, solicite DHCP para una configuración IP y de red:

# dhclient -r
# dhclient wlan0
    
respondido por el David 06.10.2016 - 18:12
3

Primero sube tu tarjeta si no está funcionando:

ifconfig wlan0 up

Configure los parámetros según su red

iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
    
respondido por el LnxSlck 17.05.2012 - 17:54
2

En realidad, hay una forma de hacerlo con NetworkManager, si tiene instalado el paquete checkbox .

sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY

(Crédito: error 923836 , que surgió en mis búsquedas sobre el tema).

    
respondido por el zigg 17.05.2012 - 18:32
2

Todas las respuestas que sugieren wpa_supplicant son incorrectas. Sí, puede conectarte a la red WPA, pero a la larga es una mala solución porque será muy difícil de mantener y no funcionará bien con una conexión por cable. Lea esta respuesta y haga su vida más fácil usando Network Manager desde la línea de comandos. Perdí horas intentando configurar wpa_supplicant, luego probé nmcli y "simplemente funcionó".

    
respondido por el Cerin 26.07.2015 - 00:23
2

Puede usar VSWM: administrador inalámbrico muy simple. Coloque sus AP conocidos en un archivo cfg simple (/etc/vswm.cfg) y cuando ejecute vswm escanee las redes disponibles y conecte su tarjeta con la primera que aparece en /etc/vswm.cfg.

VSWM está disponible en enlace . Aquí hay una selección de cómo se ve el archivo de configuración vswm.cfg:

[global]

dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]

[wlan0-0]

ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp

[wlan0-1]

ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24

Bajo las capuchas, usa las herramientas de línea de comando estándar: iwlist, wpa_supplicant, iwconfig, dhclient ... Solo automatiza el trabajo.

    
respondido por el Diogo Melo 18.09.2016 - 05:42
1

Tuve problemas para usar wpa_supplicant directamente para acceder a una red inalámbrica. Mi ID de red y contraseña generaron errores cuando utilicé el archivo wpa_supplicant.conf en la línea de comando wpa_supplicant , por ejemplo,

sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B

Pude solucionarlo con wpa_cli . La secuencia de comandos que tuve que usar, ya que estoy usando un controlador de Windows con Linux ndiswrapper, es:

sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"

Hice configurar la red agregándola a la sección inalámbrica de la red en la GUI, por lo que que podría hacer clic en el ícono de la red alámbrica o inalámbrica y seleccionar el proveedor de servicios inalámbricos (que a veces era necesario para completar el inicio de sesión).

    
respondido por el John 03.12.2013 - 07:46
0

El nmcli es la versión de línea de comando de la aplicación de administrador de red predeterminada en Ubuntu.

Algunas de las ventajas son que usa la configuración que ya tiene desde la interfaz gráfica y no necesita acceso de root.

Puede ejecutar nmcli para mostrar las opciones disponibles.

Ejemplo de conexión a un wifi llamado MYESSID:

    nmcli c up MYESSID   
    
respondido por el desgua 31.01.2018 - 13:46

Lea otras preguntas en las etiquetas