GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo conectarse a WiFi desde la terminal en Ubuntu Linux

En este tutorial, aprenderá cómo conectarse a una red inalámbrica desde la terminal en Ubuntu. Esto es particularmente útil si está utilizando un servidor Ubuntu donde no tiene acceso al entorno de escritorio normal.

Principalmente uso Linux de escritorio en las computadoras de mi hogar. También tengo varios servidores Linux para hospedar It's FOSS y sitios web relacionados y software de código abierto como Nextcloud, Discourse, Ghost, Rocket Chat, etc.

Uso Linode para implementar rápidamente servidores Linux en la nube en minutos. Pero recientemente, instalé el servidor Ubuntu en mi Raspberry Pi. Esta es la primera vez que instalé un servidor en un dispositivo físico y tuve que hacer cosas adicionales para conectar el servidor Ubuntu a WiFi a través de la línea de comandos.

En este tutorial, mostraré los pasos para conectarse a WiFi usando una terminal en Ubuntu Linux. Deberías

  • no tengas miedo de usar la terminal para editar archivos
  • conozca el nombre del punto de acceso wifi (SSID) y la contraseña

Conectarse a WiFi desde la terminal en Ubuntu

Es fácil cuando usa el escritorio de Ubuntu porque tiene la GUI para hacerlo fácilmente. No es lo mismo cuando está usando un servidor Ubuntu y está restringido a la línea de comandos.

Ubuntu usa la utilidad Netplan para configurar fácilmente la red. En Netplan, crea un archivo YAML con la descripción de la interfaz de red y, con la ayuda de la herramienta de línea de comandos de Netplan, genera toda la configuración necesaria.

Veamos cómo conectarse a una red inalámbrica desde el terminal usando Netplan.

Paso 1:Identifique el nombre de su interfaz de red inalámbrica

Hay varias formas de identificar el nombre de su interfaz de red. Puede usar el comando ip, el comando obsoleto ipconfig o verificar este archivo:

ls /sys/class/net

Esto debería brindarle toda la interfaz de red disponible (Ethernet, wifi y loopback). El nombre de la interfaz de red inalámbrica comienza con 'w' y generalmente tiene un nombre similar a wlanX, wlpxyz.

[email protected]:~$ ls /sys/class/net
eth0 lo wlan0

Tome nota del nombre de esta interfaz. Lo usará en el siguiente paso.

Paso 2:edite el archivo de configuración de Netplan con los detalles de la interfaz wifi

El archivo de configuración de Netplan reside en el directorio /etc/netplan. Si revisa el contenido de este directorio, debería ver archivos como 01-network-manager-all.yml o 50-cloud-init.yaml.

Si es un servidor Ubuntu, debe tener un archivo de inicialización en la nube. Para escritorios, debe ser un archivo de administrador de red. Esta es una de las varias formas en que el escritorio de Ubuntu difiere del servidor de Ubuntu.

El administrador de red en el escritorio de Linux le permite elegir una red inalámbrica. Puede codificar el punto de acceso wifi en su configuración. Esto podría ayudarlo en algunos casos (como suspender) donde la conexión se interrumpe automáticamente.

Sea cual sea el archivo, ábralo para editarlo. Espero que estés un poco familiarizado con el editor Nano porque Ubuntu viene preinstalado con él.

sudo nano /etc/netplan/50-cloud-init.yaml

Los archivos YAML son muy sensibles a los espacios, la sangría y la alineación. No use tabuladores, use 4 (o 2, lo que ya se use en el archivo YAML) espacios donde vea una sangría.

Básicamente, deberá agregar las siguientes líneas con el nombre del punto de acceso (SSID) y su contraseña (generalmente) entre comillas:

wifis:
    wlan0:
        dhcp4: true
        optional: true
        access-points:
            "SSID_name":
                password: "WiFi_password"

Nuevamente, mantenga la alineación como se muestra o, de lo contrario, el archivo YAML no se analizará y arrojará un error.

Su archivo de configuración completo puede verse así:

# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    version: 2
    wifis:
        wlan0:
            dhcp4: true
            optional: true
            access-points:
                "SSID_name":
                    password: "WiFi_password"

Me resulta extraño que, a pesar del mensaje de que los cambios no persistirán en el reinicio de una instancia, todavía funciona.

De todos modos, genera la configuración usando este comando:

sudo netplan generate

Y ahora aplica esto:

sudo netplan apply

Si tiene suerte, debería tener una red conectada. Intente hacer ping a un sitio web o ejecute el comando de actualización apt.

Sin embargo, las cosas pueden no ir tan bien y es posible que vea algunos errores. Pruebe algunos pasos adicionales si ese es el caso.

Posible solución de problemas

Es posible que cuando utilice el comando de aplicación netplan, vea un error en el resultado que diga algo como esto:

Failed to start netplan-wpa-wlan0.service: Unit netplan-wpa-wlan0.service not found.
Traceback (most recent call last):
  File "/usr/sbin/netplan", line 23, in <module>
    netplan.main()
  File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/apply.py", line 46, in run
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/apply.py", line 173, in command_apply
    utils.systemctl_networkd('start', sync=sync, extra_services=netplan_wpa)
  File "/usr/share/netplan/netplan/cli/utils.py", line 86, in systemctl_networkd
    subprocess.check_call(command)
  File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['systemctl', 'start', '--no-block', 'systemd-networkd.service', 'netplan-wpa-wlan0.service']' returned non-zero exit status 5.

Es posible que el servicio wpa_supplicant no se esté ejecutando. Ejecute este comando:

sudo systemctl start wpa_supplicant

Ejecute netplan apply una vez más. Si soluciona el problema bien y bien. De lo contrario, apague su sistema Ubuntu usando:

shutdown now

Vuelva a iniciar su sistema Ubuntu, inicie sesión y genere y aplique netplan una vez más:

sudo netplan generate
sudo netplan apply

Puede mostrar una advertencia (en lugar de un error) ahora. Es una advertencia y no un error. Revisé los servicios systemd en ejecución y descubrí que netplan-wpa-wlan0.service ya se estaba ejecutando. Probablemente mostró la advertencia porque ya se estaba ejecutando y 'netplan apply' actualizó el archivo de configuración (incluso sin ningún cambio).

Warning: The unit file, source configuration file or drop-ins of netplan-wpa-wlan0.service changed on disk. Run 'systemctl daemon-reload' to reload units.

No es crítico y puede verificar que Internet probablemente ya esté funcionando ejecutando apt update.

Espero que haya podido conectarse a wifi usando la línea de comando en Ubuntu con la ayuda de este tutorial. Si aún tiene problemas con él, hágamelo saber en la sección de comentarios.



Ubuntu
  1. Cómo buscar en la web desde la terminal en Linux

  2. Personalizar la Terminal en Ubuntu 20.04:¿cómo hacerlo?

  3. Cómo usar el comando tail en Ubuntu Linux

  4. ¿Cómo hacer que Ubuntu reconozca la tarjeta de red Wifi?

  5. ¿Cómo crear un archivo en Linux desde la ventana de terminal?

Gestión de archivos de Linux desde la terminal

Cómo guardar la salida del comando en un archivo usando la terminal de Linux

Cómo usar Gmail desde la Terminal de Ubuntu para enviar correos electrónicos

Cómo descargar un archivo en Ubuntu Linux usando la línea de comandos

Cómo abrir la terminal en Ubuntu Linux

Cómo conectarse a WiFi desde la terminal en Ubuntu Linux