GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak se připojit k WiFi z terminálu v Ubuntu Linux

V tomto tutoriálu se dozvíte, jak se připojit k bezdrátové síti z terminálu v Ubuntu. To je zvláště užitečné, pokud používáte server Ubuntu, kde nemáte přístup k běžnému desktopovému prostředí.

Na domácích počítačích používám primárně desktopový Linux. Mám také několik linuxových serverů pro hostování It's FOSS a souvisejících webů a softwaru s otevřeným zdrojovým kódem, jako je Nextcloud, Discourse, Ghost, Rocket Chat atd.

Linode používám pro rychlé nasazení linuxových serverů v cloudu během několika minut. Ale nedávno jsem nainstaloval server Ubuntu na svůj Raspberry Pi. Toto je poprvé, co jsem nainstaloval server na fyzické zařízení a musel jsem udělat něco navíc, abych mohl připojit server Ubuntu k WiFi přes příkazový řádek.

V tomto tutoriálu ukážu kroky pro připojení k WiFi pomocí terminálu v Ubuntu Linux. Měli byste

  • nebojte se používat terminál k úpravě souborů
  • znáte název přístupového bodu wifi (SSID) a heslo

Připojte se k WiFi z terminálu v Ubuntu

Je to snadné, když používáte Ubuntu desktop, protože máte GUI, abyste to snadno udělali. Není to stejné, když používáte server Ubuntu a jste omezeni na příkazový řádek.

Ubuntu používá nástroj Netplan pro snadnou konfiguraci sítě. V Netplanu vytvoříte YAML soubor s popisem síťového rozhraní a pomocí nástroje příkazového řádku netplan vygenerujete veškerou požadovanou konfiguraci.

Podívejme se, jak se připojit k bezdrátové síti z terminálu pomocí Netplan.

Krok 1:Identifikujte název rozhraní bezdrátové sítě

Existuje několik způsobů, jak identifikovat název síťového rozhraní. Můžete použít příkaz ip, zastaralý příkaz ipconfig nebo zkontrolovat tento soubor:

ls /sys/class/net

To by vám mělo poskytnout veškeré dostupné síťové rozhraní (Ethernet, wifi a zpětná smyčka). Název rozhraní bezdrátové sítě začíná „w“ a obvykle se jmenuje podobně jako wlanX, wlpxyz.

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

Poznamenejte si název tohoto rozhraní. Použijete jej v dalším kroku.

Krok 2:Upravte konfigurační soubor Netplan s podrobnostmi o wifi rozhraní

Konfigurační soubor Netplan je umístěn v adresáři /etc/netplan. Pokud zkontrolujete obsah tohoto adresáře, měli byste vidět soubory jako 01-network-manager-all.yml nebo 50-cloud-init.yaml.

Pokud je to server Ubuntu, měli byste mít cloud-init soubor. U stolních počítačů by to měl být soubor správce sítě. Toto je jeden z několika způsobů, jak se desktop Ubuntu liší od serveru Ubuntu.

Správce sítě na ploše Linuxu umožňuje vybrat bezdrátovou síť. Přístupový bod wifi můžete napevno zakódovat v jeho konfiguraci. To by vám mohlo pomoci v některých případech (jako je pozastavení), kdy připojení automaticky vypadává.

Ať už se jedná o kterýkoli soubor, otevřete jej pro úpravy. Doufám, že editor Nano trochu znáte, protože Ubuntu je s ním předinstalovaný.

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

Soubory YAML jsou velmi citlivé na mezery, odsazení a zarovnání. Nepoužívejte tabulátory, místo toho použijte 4 (nebo 2, podle toho, co je již použito v souboru YAML) mezery tam, kde vidíte odsazení.

V zásadě budete muset přidat následující řádky s názvem přístupového bodu (SSID) a jeho heslem (obvykle) v uvozovkách:

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

Opět ponechte zarovnání, jak jsem ukázal, jinak nebude soubor YAML analyzován a vyvolá chybu.

Váš úplný konfigurační soubor může vypadat takto:

# 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"

Připadá mi zvláštní, že navzdory zprávě, že změny nepřetrvají po restartu instance, stále funguje.

Každopádně konfiguraci vygenerujte pomocí tohoto příkazu:

sudo netplan generate

A nyní použijte toto:

sudo netplan apply

Pokud budete mít štěstí, měli byste mít připojenou síť. Zkuste pingnout webovou stránku nebo spusťte příkaz apt update.

Věci však nemusí jít tak hladce a můžete vidět nějaké chyby. Pokud je to váš případ, zkuste nějaké další kroky.

Možné řešení problémů

Je možné, že když použijete příkaz netplan apply, uvidíte ve výstupu chybu, která zní asi takto:

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.

Je možné, že služba wpa_supplicant neběží. Spusťte tento příkaz:

sudo systemctl start wpa_supplicant

Spusťte znovu použít netplan. Pokud problém vyřeší dobře a dobře. V opačném případě vypněte systém Ubuntu pomocí:

shutdown now

Spusťte znovu svůj systém Ubuntu, přihlaste se a znovu vygenerujte a použijte netplan:

sudo netplan generate
sudo netplan apply

Nyní se může zobrazit varování (místo chyby). Je to varování a ne chyba. Zkontroloval jsem spuštěné služby systemd a zjistil jsem, že netplan-wpa-wlan0.service již běží. Pravděpodobně se zobrazilo varování, protože již byl spuštěn a „netplan apply“ aktualizoval konfigurační soubor (i bez jakýchkoli změn).

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.

Není to kritické a můžete zkontrolovat, že internet pravděpodobně již funguje spuštěním aktualizace apt.

Doufám, že se vám s pomocí tohoto návodu podařilo připojit k wifi pomocí příkazového řádku v Ubuntu. Pokud s tím stále máte potíže, dejte mi vědět v sekci komentářů.



Ubuntu
  1. Jak vyhledávat na webu z terminálu v systému Linux

  2. Přizpůsobte si terminál na Ubuntu 20.04 – jak na to?

  3. Jak používat příkaz tail v Ubuntu Linux

  1. Jak rozbalit soubor ZIP v Ubuntu / Linux

  2. Jak přimět Ubuntu, aby rozpoznalo síťovou kartu Wifi?

  3. Jak vytvořit soubor v Linuxu z okna terminálu?

  1. Jak odstranit soubor na Ubuntu Linux

  2. Jak otestovat rychlost internetu z terminálu v Ubuntu Linux

  3. Jak připojit vaše zařízení Android na Ubuntu Linux