How to connect to WiFi from the command line?
Solution 1
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 (
<SavedWiFiConn>
)nmcli c
-
To see list of available WiFi hotspots (
<WiFiSSID>
)nmcli d wifi list
or:
sudo iwlist <WifiInterface> scanning
-
To see list of interfaces (
<WifiInterface>
)ifconfig -a
Just change <WifiInterface>
, <WiFiSSID>
, <WiFiPassword>
in the following commands to reflect your setup. If WiFi info already saved, easier way using <SavedWiFiConn>
name of connection as it was saved in NetworkManager.
Ubuntu 16.04
##disconnect
nmcli d disconnect <WifiInterface>
##connect
nmcli d connect <WifiInterface>
Another way:
##disconnect
nmcli c down <SavedWiFiConn>
##connect
nmcli c up <SavedWiFiConn>
Ubuntu 15.10 & previous
##disconnect
nmcli d disconnect iface <WifiInterface>
##connect
nmcli d wifi connect <WiFiSSID> password <WiFiPassword> iface <WifiInterface>
Another way:
##disconnect:
nmcli c down id <SavedWiFiConn>
##connect:
nmcli c up id <SavedWiFiConn>
If your password isn't automatically recognized type this:
nmcli -a c up <SavedWiFiConn>
Reference: man nmcli
Solution 2
nmtui
ncurses solution
Great interactive ncurses network manager option:
nmtui
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.
Screenshot:
Tested in Ubuntu 17.10.
Solution 3
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
on newer version:
nmcli radio wifi on
nmcli radio wifi off
For reference, see man nmcli
.
Solution 4
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 <your 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 <name>
)
nmcli c delete PrettyFlyForAWiFi-5G
To see a list of all saved connections
nmcli c
You can use nmcli connection
instead of nmcli c <whatever>
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 <2 letter country code>
sudo nano /etc/default/crda
Related videos on Youtube
cmo
Updated on September 18, 2022Comments
-
cmo over 1 year
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
-
Panther almost 10 yearsDepends , what wireless security ? This is covered in detail here - help.ubuntu.com/community/NetworkConfigurationCommandLine/…
-
AlikElzin-kilaka almost 5 yearsOn Ubuntu 16.04 and on 18.04, still experiencing wifi disconnects. A reconnect command would be a good hack.
-
-
cmo almost 10 yearsWorks like a charm! And, as suspected, the command line responds immediately, while the GUI can be sluggish, uncooperative, and unresponsive sometimes.
-
Janaka Bandara over 9 yearsSaved 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.
-
Cerin almost 9 yearsHow do you make NM enable wifi automatically during boot? Every time I reboot, Network Manager starts with wifi disabled.
-
kirill_igum over 8 yearsis there a way to automate it so it connects whenever the wifi is available ?
-
user.dz over 8 years@Cerin, you may try adding this command to startup applications, see askubuntu.com/questions/243139/…
-
user.dz over 8 years@kirill_igum , sorry to be late quiet busy, You may use
cron
for scheduling wifi scan usingiwlist wlan0 scanning
ornmcli d wifi list
thennmcli
to connect to the corresponding wifi network depending on your needs. -
Luís de Sousa about 8 yearsOn Ubuntu 14.04 this connect command returns
Error: Device 'wlan0' is not an Wi-Fi device.
I believe this answer is incomplete. -
Cerin about 8 yearsThis is invalid syntax.
Unknown parameter: iface
Unknown parameter: wlan0
-
monitor35 about 8 yearsAnd how do in Ubuntu > 14.04.
-
Bhikkhu Subhuti almost 8 yearsI have no idea how this works for me. I am using blue tooth tether. bnep0 but I do not know what to type or how to get the ssid. I googled it and almost all of the commands did not do anything or were invalid or returned an empty line.
-
user.dz almost 8 years@BhikkhuSubhuti, Try using
sudo iwlist wlan0 scanning
ornmcli d wifi list
to get the available networks ssid's. -
Bhikkhu Subhuti almost 8 years"iwlist wlan0" says invalid command but iwlist alone is a command that works but just give a list of params to use. nmcli d wifi list gives and empty header. I am using blue tooth tether.
-
Apologician almost 8 yearsCan someone give me an example of what follows the parameter "ID", as in the command
nmcli c up id <WiFiConn>
. What is a "<WiFiConn>
"? -
user.dz almost 8 years@L.D.James, the name used to save the connection settings, 1st column in this output
nmcli c
which list all saved connection setups -
Apologician almost 8 years@sneetsher Ok. I see. I believe you have to replace the word
id
with the information in first column, otherwise you get an error. It wasn't initially clear in the answer. -
Apologician almost 8 yearsThe command that I was issuing was giving an error. I was issuing this command:
nmcli c up id "Apollo III Connect"
It gave an error. When I leave out the wordid
and typed this it connects without error:nmcli c "Apollo III Connect"
. I understand how to connect it now. You're sayingid
as the parameter and saying replace the wordid
with the name of the connection, which you are naming <WiFiConn>. Thanks! -
Apologician almost 8 years
mcli tool, version 1.2.0
-
Cirelli94 about 7 yearsHow to save a connection setup? If it's the first time I connect to a wifi!
-
Cirelli94 about 7 yearsTo save a connection setup:
sudo nmcli dev wifi con "SSID_NAME" password PASSWORD "CONFIG_NAME"
To find auto your saved connection setups:nmcli c
-
user.dz about 7 years@Cirelli94 Good you seem already found it, just connecting to new wifi makes nm save it on new entry, no extra.
-
asgs over 6 yearsThanks! For some reason, my Ubuntu refused to connect to Wifi, so I plugged in the Ethernet cable and clicked Activate on Wired Connection and BAM!
-
Ciro Santilli OurBigBook.com over 6 years@Downvoters please explain, I never retaliate ;-)
-
Jan Sila over 6 yearsworks on Ubuntu 16.01 as well, cool solution!
-
Jules about 6 years
nmcli
doesnt seem to be installed by default on server installs. How do we install it (particularly if we have no working network connection)? Alternatively, how do we perform these steps withiw
, which is installed by default, but seems a lot harder to use? -
jamzsabb almost 6 yearsThis 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
-
borizzzzz over 4 yearsWhen using nmcli, there is a pop up to reask the password if it was miss-typed. Would you know whether there is a possibility of disabling this feature? Quite annoying when trying to use nmcli in a non-interactive script...
-
Ryre over 4 yearsThis "just worked " on Ubuntu 18.04
-
Berry Tsakala over 4 yearswhen password is wrong, nmcli pops up a GUI input box (for retyping the correct password). this can't be scripted - is there a way to disable GUI ?
-
ignacio almost 4 years@BerryTsakala you may check beforehand if the SSID has the
Security
field with a value different thannone
. -
P.Windridge over 3 yearsand Jetson Nano ... and usefully it kept eth0 up too (I'm running headless and didn't lose the ssh session)