- How to connect to WiFi from the command line?
- 4 Answers 4
- Ubuntu 16.04
- Ubuntu 15.10 & previous
- Configure WiFi Connections
- Establish a Wireless Connection
- Connect to a Hidden Network
- Further Information
- 3 способа подключения к Wi-Fi из командной строки в Debian
- Обнаружение сетей с помощью Iwconfig
- Подключение к Wi-Fi из командной строки с помощью nmcli
- Подключение к wifi с консоли с помощью nmtui
- Подключитесь к Wi-Fi с помощью wpa_supplicant
How to connect to WiFi from the command line?
Other posts seems to be addressing more complicated network connection issues from the command line. The Unity panel Network indicator/button doesn’t respond too well sometimes — it keeps trying to connect to a network even when i click on «disconnect», stuff like that. So I want to go command line for the control. I don’t like GUIs anyway. Is there not some simple command line tool which can do something like the following?
wifi connect MyNetworkNameA wifi disconnect wifi connect MyNetworkNameB
Depends , what wireless security ? This is covered in detail here — help.ubuntu.com/community/NetworkConfigurationCommandLine/…
On Ubuntu 16.04 and on 18.04, still experiencing wifi disconnects. A reconnect command would be a good hack.
4 Answers 4
I think you want to keep using managed interface (by NetworkManager). nmcli is a command‐line tool for controlling NetworkManager.
- To see list of saved connections, use ( )
Just change , , in the following commands to reflect your setup. If WiFi info already saved, easier way using name of connection as it was saved in NetworkManager.
Ubuntu 16.04
##disconnect nmcli d disconnect ##connect nmcli d connect
##disconnect nmcli c down ##connect nmcli c up
Ubuntu 15.10 & previous
##disconnect nmcli d disconnect iface ##connect nmcli d wifi connect password iface
##disconnect: nmcli c down id ##connect: nmcli c up id
If your password isn’t automatically recognized type this:
Works like a charm! And, as suspected, the command line responds immediately, while the GUI can be sluggish, uncooperative, and unresponsive sometimes.
Saved my day when I lost my Unity dash and taskbar, and the Network Settings dialog kept on crashing upon any kind of network connection establishment.
@kirill_igum , sorry to be late quiet busy, You may use cron for scheduling wifi scan using iwlist wlan0 scanning or nmcli d wifi list then nmcli to connect to the corresponding wifi network depending on your needs.
On Ubuntu 14.04 this connect command returns Error: Device ‘wlan0’ is not an Wi-Fi device. I believe this answer is incomplete.
To save a connection setup: sudo nmcli dev wifi con «SSID_NAME» password PASSWORD «CONFIG_NAME» To find auto your saved connection setups: nmcli c
nmtui ncurses solution
Great interactive ncurses network manager option:
If for some reason it is not installed, the Debian package is:
sudo apt install network-manager
Comes in the same package as nm-applet (the default top bar icon thing) and nm-cli , and is therefore widely available.
This is a much more intuitive solution than what is above IMO. Unless you’re trying to learn how Linux/Unix connects to WiFi, this seems like the ideal select and press enter solution. Works well on Ubuntu 18
and Jetson Nano . and usefully it kept eth0 up too (I’m running headless and didn’t lose the ssh session)
F***ING THANK YOU! Over the years I’ve had to rescue a laptop several times, and I always have to look up the spells required for wifi. nmtui is the best solution and just works!
If your wi-fi access point is saved, it will auto-connect. Turn wireless on or off with a simpler command:
nmcli nm wifi on nmcli nm wifi off
nmcli radio wifi on nmcli radio wifi off
How do you make NM enable wifi automatically during boot? Every time I reboot, Network Manager starts with wifi disabled.
@Cerin, you may try adding this command to startup applications, see askubuntu.com/questions/243139/…
If you want to connect to a network called PrettyFlyForAWiFi-5G
nmcli -a d wifi connect PrettyFlyForAWiFi-5G
-a (or —ask ) means it will ask you for the password. The connection will be saved and should connect automatically if you restart your computer.
You could append password to the end (the literal word password followed by the actual password)
nmcli d wifi connect PrettyFlyForAWiFi-5G password 12345678
but maybe run unset HISTFILE beforehand, so that your WiFi password isn’t saved to your ~/.bash_history file.
To see all the WiFi networks around you ( —rescan yes is optional, the list of networks might be up to 30 seconds old without it)
nmcli d wifi list --rescan yes
which will output something like
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY PrettyFlyForAWiFi-5G Infra 44 405 Mbit/s 59 ▂▄▆_ WPA2 PrettyFlyForAWiFi Infra 6 195 Mbit/s 41 ▂▄__ WPA1 WPA2
To forget a connection (that was saved after you ran nmcli -a d wifi connect )
nmcli c delete PrettyFlyForAWiFi-5G
To see a list of all saved connections
You can use nmcli connection instead of nmcli c and nmcli device instead of nmcli d
nmcli is the command line interface for NetworkManager (which is part of GNOME, Ubuntu’s default desktop environment) and is already installed on Ubuntu.
Don’t forget to set up your country code for using the perfect regulations:
sudo iw reg set sudo nano /etc/default/crda
Configure WiFi Connections
This section explains how to establish a WiFi connection. It covers creating and modifying connections as well as directly connecting.
Establish a Wireless Connection
This section will show how to establish a wifi connection to the wireless network. Note that directly connecting will implicitly create a connection (that can be seen with “nmcli c”). The naming of such will follow “SSID N” pattern, where N is a number.
First, determine the name of the WiFi interface:
$ nmcli d DEVICE TYPE STATE CONNECTION . wlan0 wifi disconnected --
Make sure the WiFi radio is on (which is its default state):
Then, list the available WiFi networks:
$ nmcli d wifi list * SSID MODE CHAN RATE SIGNAL BARS SECURITY . my_wifi Infra 5 54 Mbit/s 89 ▂▄▆█ WPA2
As an example, to connect to the access point ‘my_wifi’, you would use the following command:
$ nmcli d wifi connect my_wifi password
is the password for the connection which needs to have 8-63 characters or 64 hexadecimal characters to specify a full 256-bit key.
Connect to a Hidden Network
A hidden network is a normal wireless network that simply does not broadcast it’s SSID unless solicited. This means that its name cannot be searched and must be known from some other source.
Issue the following command to create a connection associated with a hidden network :
$ nmcli c add type wifi con-name ifname wlan0 ssid $ nmcli c modify wifi-sec.key-mgmt wpa-psk wifi-sec.psk
Now you can establish a connection by typing:
is an arbitrary name given to the connection and is the password to the network. It needs to have between 8-63 characters or 64 hexadecimal characters in order to specify a full 256-bit key.
Further Information
You will find further information and more detailed examples on following pages:
3 способа подключения к Wi-Fi из командной строки в Debian
Советы и хитрости
В этом руководстве кратко объясняется, как подключиться к Wi-Fi из командной строки в дистрибутивах Linux на основе Debian и Debian 3 различными способами: с помощью nmcli, nmtui и wpa_supplicant. В дополнение к nmcli, nmtui и wpa_supplicant используются команды iwconfig, iwlist и dhclient, которые кратко объясняются в этом руководстве.
Обнаружение сетей с помощью Iwconfig
Перед тем как начать, нам нужно знать essid или имя сети, к которой мы хотим подключиться.
В этом руководстве показано, как использовать команду Iwconfig для сканирования доступных сетей. Iwconfig похож на команду ifconfig, но для управления беспроводными интерфейсами. Эта команда позволяет пользователю редактировать частоту или канал, изменять режим сетевого устройства (Ad-hoc, Managed, Master, Repeater, Monitor, Secondary), устанавливать ESSID и т. Д.
ПРИМЕЧАНИЕ. SSID / ESSID — это имена или идентификаторы сети или маршрутизатора.
Чтобы проверить, правильно ли обнаружена карта Wi-Fi, сначала выполните команду iwconfig, как показано на следующем снимке экрана:
Как вы можете видеть, выходные данные показывают интерфейс loopback (lo), карту Ethernet (enp2s0) и карту Wi-Fi wlp3s0, которые мы будем использовать для сканирования доступных сетей с помощью команды Iwlist.
Первая строка показывает поддержку стандартов 802.11 и показывает, что устройство не подключено. Вторая строка показывает, что карта Wi-Fi находится в управляемом режиме и не связана с точкой доступа.
Третья строка включает Retry Short Limit, который определяет количество попыток после неудачной передачи, и RTS Threshold, определяющий количество подтверждений до соединения, Fragment Thr показывает максимальный размер пакета, который отправит ваша карта.
Последние две строки показывают, что аутентификация отсутствует и управление питанием выключено.
Команда Iwlist предоставляет дополнительную информацию о беспроводных устройствах, в том числе о тех, которые не являются частью нашего компьютера. В этом случае мы просканируем доступные сети, добавив сканирование аргументов. На выходе будет отображен список точек доступа с некоторой информацией, такой как ESSID, качество сигнала, канал, режим и т.д.
Выполните следующую команду, чтобы распечатать список доступных сетей:
ПРИМЕЧАНИЕ. Замените wlp3s0 вашей беспроводной картой, отображаемой при выполнении команды iwconfig.
Как видите, в выходных данных показано несколько сетей, включая точку доступа LinuxHint, но формат неудобен для пользователя. Если вы хотите распечатать только ESSID или имена доступных сетей, опуская остальные, запустите:
Как вы можете видеть, вывод понятен и ограничен именами точек доступа (essid).
Подключение к Wi-Fi из командной строки с помощью nmcli
NMCLI — это интерфейс командной строки для NetworkManager, который можно использовать как альтернативу графическим менеджерам. NMCLI позволяет пользователю создавать, редактировать и удалять или включать и отключать соединения, а также отображать состояние устройства.
Следующий синтаксис показывает, как подключиться к сети LinuxHint (обнаруженной с помощью ранее использованной команды Iwlist) путем выполнения nmcli со следующими аргументами:
Где d wifi указывает беспроводное устройство, подключение LinuxHint указывает ессид и пароль морочита пароль.
ПРИМЕЧАНИЕ. Замените LinuxHint на ssid вашего маршрутизатора и morochita на ваш фактический пароль.
Вы можете получить дополнительную информацию о nmcli на https://linux.die.net/man/1/nmcli
Подключение к wifi с консоли с помощью nmtui
Nmtui — это интерактивная альтернатива nmcli и Network Manager на основе curses при запуске консоли:
Первый экран позволяет нам редактировать существующее соединение, активировать новое соединение и редактировать наше имя хоста. Выберите второй вариант Активировать соединение и нажмите ENTER.
Nmtui покажет как проводные, так и беспроводные доступные сети. Выберите свою точку доступа и нажмите ENTER.
Примечание: для этого примера ESSID был изменен с LinuxHint на LinuxH1nt, чтобы показать шаг запроса пароля.
На следующем экране будет запрошен пароль, введите его и нажмите ENTER, чтобы продолжить.
Вы можете получить дополнительную информацию о Nmtui на странице руководства по адресу https://www.mankier.com/1/nmtui.
Подключитесь к Wi-Fi с помощью wpa_supplicant
Wpa_supplicant — это соискатель, который разрешает согласование в процессе аутентификации. В отличие от nmcli и nmtui, wpa_supplicant по умолчанию не устанавливается в Debian.
Чтобы установить wpa_supplicant в системах на базе Debian, выполните:
Вам нужно отредактировать файл /etc/wpa_supplicant.conf, добавив essid и пароль вашей точки доступа, вы можете добиться этого, выполнив следующую команду:
ПРИМЕЧАНИЕ. Замените LinuxHint на ваш essid и morochita на ваш фактический пароль. Вы можете использовать кавычки для сетевых имен, содержащих пробелы.
После редактирования wpa_supplicant.conf вы можете подключиться, выполнив следующую команду, где -c указывает файл конфигурации, а -i указывает сетевой интерфейс:
Как вы можете видеть с помощью iwconfig, теперь ваша беспроводная карта связана с точкой доступа.
Для подключения запустите команду dhclient, как показано на следующем снимке экрана, чтобы получить динамический IP-адрес:
ПРИМЕЧАНИЕ. Замените wlp3s0 своей беспроводной картой.
После запуска dhclient вы должны быть подключены к Интернету через соответствующую точку доступа.
Дополнительную информацию о wpa_supplicant можно получить по адресу https://linux.die.net/man/8/wpa_supplicant.
Надеюсь, вы нашли это руководство полезным для подключения к Wi-Fi из командной строки в системах на основе Debian. Следите за LinuxHint, чтобы получить больше руководств и советов по Linux.