Как подключиться к Wi-Fi из терминала Linux с помощью команды Nmcli
Существует несколько инструментов командной строки для управления интерфейсом беспроводной сети в системах Linux. Некоторые из них можно использовать для простого просмотра состояния интерфейса беспроводной сети (независимо от того, включен или выключен, или подключен ли он к какой-либо сети), например < Strong>iw, iwlist, ip, ifconfig и другие.
Некоторые из них используются для подключения к беспроводной сети, в том числе: nmcli — это инструмент командной строки, используемый для создания, отображения, редактирования, удаления, включения и отключения сетевых подключений, а также для управления и отображения состояния сетевых устройств.
Сначала начните с проверки имени вашего сетевого устройства с помощью следующей команды. В выводе этой команды имя/интерфейс устройства — wlp1s0, как показано.
$ iw dev
phy#0
Interface wlp1s0
ifindex 3
wdev 0x1
addr 38:b1:db:7c:78:c7
type managed
Затем проверьте состояние подключения устройства Wi-Fi, используя следующую команду.
iw wlp2s0 link
Not connected.
Судя по приведенным выше выводам, устройство не подключено ни к одной сети, выполните следующую команду для сканирования доступных сетей Wi-Fi.
sudo iw wlp2s0 scan
command failed: Network is down (-100)
Учитывая вывод приведенной выше команды, сетевое устройство/интерфейс находится в состоянии ВНИЗ, вы можете включить его Вкл (ВВЕРХ) с помощью команды ip как показано.
sudo ip link set wlp1s0 up
Если вы получаете следующую ошибку, это означает, что ваш Wi-Fi жестко заблокирован на ноутбуке или компьютере.
RTNETLINK answers: Operation not possible due to RF-kill
Чтобы удалить или разблокировать, вам необходимо выполнить следующую команду, чтобы устранить ошибку.
echo "blacklist hp_wmi" | sudo tee /etc/modprobe.d/hp.conf
sudo rfkill unblock all
Затем попробуйте еще раз ВКЛЮЧИТЬ сетевое устройство, и на этот раз оно должно работать.
sudo ip link set wlp1s0 up
Если вы знаете ESSID сети Wi-Fi, к которой хотите подключиться, перейдите к следующему шагу, в противном случае введите приведенную ниже команду для повторного сканирования доступных сетей Wi-Fi.
sudo iw wlp1s0 scan
И, наконец, подключитесь к сети Wi-Fi, используя следующую команду, где Hackernet (SSID сети Wi-Fi) и localhost22 (пароль/предварительный ключ).
nmcli dev wifi connect Hackernet password localhost22
После подключения проверьте подключение, выполнив проверку связи с внешним компьютером и проанализировав результаты проверки связи, как показано.
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=61.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=48 time=61.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=48 time=61.6 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=48 time=61.3 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=48 time=63.9 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 61.338/62.047/63.928/0.950 ms
Вот и все! Надеюсь, эта статья помогла вам настроить сеть Wi-Fi из командной строки Linux. Как всегда, если эта статья оказалась для вас полезной, поделитесь своими мыслями в разделе комментариев ниже.