ObjectiveConfigure WiFi using only command line utilities.
DistributionsThis will work on any major Linux distribution.
RequirementsA working Linux install with root privileges and a compatible wireless network adapter.
- # - requires given command to be executed with root privileges either directly as a root user or by use of
- $ - given command to be executed as a regular non-privileged user
IntroductionLots of people like graphical utilities for managing their computers, but plenty don't too. If you prefer command line utilities, managing WiFi can be a real pain. Well, it doesn't have to be.
wpa_supplicant can be used as a command line utility. You can actually set it up easily with a simple configuration file.
Scan For Your NetworkIf you already know your network information, you can skip this step. If not, its a good way to figure out some info about the network you're connecting to.
wpa_supplicant comes with a tool called
wpa_cliwhich provides a command line interface to manage your WiFi connections. You can actually use it to set up everything, but setting up a configuration file seems a bit easier.
wpa_cliwith root privileges, then scan for networks.
# wpa_cli > scanThe scan will take a couple of minutes, and show you the networks in your area. Notate the one you want to connect to. Type
Generate a Block and Encrypt Your PasswordThere's an even more convenient utility that you can use to begin setting up your configuration file. It takes the name of your network and the password and creates a file with a configuration block for that network with the password encrypted, so it's not stored in plain text.
# wpa_passphrase networkname password > /etc/wpa_supplicant/wpa_supplicant.conf
Tailor Your ConfigurationNow, you have a configuration file located at
/etc/wpa_supplicant/wpa_supplicant.conf. It's not much, just the network block with your network name and password, but you can build it out from there.
Your file up in your favorite editor, and start by deleting the commented out password line. Then, add the following line to the top of the configuration.
It just lets users in the
wheelgroup manage wpa_supplicant. It can be convenient.
Add the rest of this to the network block itself.
If you're connecting to a hidden network, you can add the following line to tell wpa_supplicant to scan it first.
Next, set the protocol and key management settings. These settings correspond to WPA2.
The group and pairwise settings tell wpa_supplicant if you're using CCMP, TKIP, or both. For best security, you should only be using CCMP.
Finally, set the priority of the network. Higher values will connect first.
Save your configuration and restart wpa_supplicant for the changes to take effect.