Подключение к сети WiFi через консоль с помощью wpa-supplicant

Сегодня разберемся как можно подключится к WiFi сети с помощью программы wpa-supplicant через консоль в linux.

Первое что необходимо сделать, так это проверить установлен ли у вас пакет wpasupplicant, иначе ничего не выйдет.

sudo apt install wpasupplicant

Следующим шагом проверим наличие и название беспроводного интерфейса:

ifconfig -a
enp6s0: flags=4099  mtu 1500
         ether 00:26:18:12:17:8d  txqueuelen 1000  (Ethernet)
         RX packets 0  bytes 0 (0.0 B)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 0  bytes 0 (0.0 B)
         TX errors 0  dropped 0 overruns 0  carrier 2  collisions 0
 lo: flags=73  mtu 65536
         inet 127.0.0.1  netmask 255.0.0.0
         inet6 ::1  prefixlen 128  scopeid 0x10
         loop  txqueuelen 1  (Local Loopback)
         RX packets 0  bytes 0 (0.0 B)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 0  bytes 0 (0.0 B)
         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 wlp2s0: flags=4163  mtu 1500
         ether 00:24:23:09:c5:03  txqueuelen 1000  (Ethernet)
         RX packets 0  bytes 0 (0.0 MiB)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 0  bytes 0 (0.0 MiB)

Если выдает что команда не найдена, то можно воспользоваться вот такой командой:

ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 00:26:18:12:17:8d brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:24:23:09:c5:03 brd ff:ff:ff:ff:ff:ff

Далее подключаем (поднимаем) wlp2s0 интерфейса:

sudo ifconfig wlp2s0 up

Сканируем сеть на наличие WiFi сетей:

 iwlist wlp2s0 scanning | grep -i essid

Вывод команды выглядит следующим образом:

ESSID:"ezhiki"
ESSID:"MGTS_91C0"
ESSID:"c2_free1"
ESSID:"Keenetic-8475"
ESSID:"onlime-22"
ESSID:"Olga"
ESSID:"c2_free"
ESSID:"lauk2"
ESSID:"hms"
ESSID:"Roder"
ESSID:"BERLOGA"
ESSID:"DroidWiFi"
ESSID:"Beeline_2G_37"

Мой Wi-Fi под названием «ezhiki», теперь создадим файл, в котором будут лежать все необходимые параметры нашего подключения:

 sudo wpa_passphrase ezhiki 'PASSWORDS' > /etc/wpa_supplicant/wpa_supplicant.conf
  • PASSWORDS — пароль от вашей сети.

Если его открыть:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

то Вы уведите примерно следующее:

network={
ssid="ezhiki"
#psk="PASSWORDS″
psk=c3fff452f64cbfe79bhjdfsdfsf78jf333a9429c6c0654eafae3d45de307e6e4b11
}

Если чего-то не хватает, то дописываем со своими значениями и жмём
ctrl+O, enter, ctrl+X

Ну что же, можно уже и подключится к wifi сети:

sudo wpa_supplicant -D wext -i wlp2s0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B

ВНИМАНИЕ! Нужно не забыть прописать в конфигурационном файле сети тип подключения: вручную или dhcp (как я/). Для этого наберите в консоле:

sudo dhclient wlp2s0

Автоматическое подключение к Wi-Fi сети

Если после перезагрузки все выше описанные действия приходятся проделывать заново, то есть смысл отредактировать конфигурационный файл поднятия интерфейсов при загрузки системы. Также данный пункт вам придется проделать если Вы пытаетесь запустить USB Wi-Fi свисток. И так конфигурационный файл находится в директории /etc/network давайте откроем его данной командой:

sudo nano /etc/network/interfaces

Добавим в конце файла во такие строки.

allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Сохраняем ctrl+o, enter и закрываем ctrl+x. Теперь после перезагрузки подключение к Wi-Fi должно отработать автоматом.

Если есть вопросы, то пишем в комментариях.

Также можете помочь проекту, заранее всем СПАСИБО!!!

.

RSS

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

2.2 5 votes
Рейтинг статьи
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

8 комментариев
новее
старее большинство голосов
Inline Feedbacks
Просмотреть все комментарии
artem
artem
22.02.2021 20:04

И да, проблем у меня нет, есть вопросы которые надо решить. С wi-fi решил, теперь вот с подключением Homebridge MQTTThing к Esp Easy решаю. Тут всё печальнее, инфы на порядок меньше, а вариантов для метода тыка несоизмеримо больше.

artem
artem
Reply to  webmaster С.
22.02.2021 20:41

форумы конечно вариант, но чайнику тяжело угнаться за полётом мысли продвинутых пользователей. Там примерно тоже, что и в данной статье. Пишется проверьте установлен ли wpasupplicant , а команда даётся на его инсталляцию. Установил второй, ОС легла (образно). Пишется nano <файл для редактирования>, а без sudo в начале он не сохраняется,… Подробнее »

artem
artem
22.02.2021 06:52

Нет моншэр чувства Вас обманывают, пароль я ввёл. Ваша статья безусловно пригодиться для изучения команд и для будущих писателей, как образец того, как нельзя писать статьи. Поскольку изложение не соответствует декларируемым целям. Чтобы не быть голословным даю 10 000USD, если следуя пунктам вашей статьи, Вы запустите usb-wifi свисток на Pi… Подробнее »

artem
artem
21.02.2021 16:53

 sudo wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B
Successfully initialized wpa_supplicant
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument

спасибо за труд, но юзерам pi он не пригодится :{