1. Overview
In today’s digital age, wireless internet connectivity is an integral part of our daily lives. Whether at home, work, or in public places, we rely on WiFi networks to stay connected.
When we connect to a WiFi network on a Linux system, it stores the WiFi password to facilitate automatic connections. But have we ever wondered where these WiFi passwords are stored?
In this tutorial, we’ll explore the location of WiFi passwords in a Linux system and learn how we can access and manage them.
2. CLI Method
Let’s start by learning how to view stored WiFi passwords using the command-line method.
2.1. Using NetworkManager
If we’re using a Linux distribution that uses NetworkManager (e.g., Ubuntu, Fedora, Debian with GNOME), WiFi passwords are stored in the NetworkManager configuration file. This file is located in the /etc/NetworkManager/system-connections/ directory.
Firstly, let’s list the network connection configuration files used by NetworkManager to manage network connections on our Linux system:
$ ls /etc/NetworkManager/system-connections
Wlinkwifi 'WIFI.nmconnection' GIF.nmconnection Homewifi.nmconnection
office5G darshan.nmconnection Office WIFI Office2.nmconnection
Secondly, let’s view the configuration file of Office WIFI using cat:
$ sudo cat /etc/NetworkManager/system-connections/Office\ WIFI
[connection]
id=Office WIFI
uuid=1511c150-e307-4c2f-88c3-08eb7204501b
type=wifi
interface-name=wlan0
[wifi]
mode=infrastructure
ssid=Office WIFI
[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=CLnf7830nd59
[ipv4]
...
The command output displays the contents of a network connection configuration file named Office WIFI located in the /etc/NetworkManager/system-connections/Office WIFI directory.
The file contains configuration settings information like ssid, wifi-security, ipv4, and so on. Further, it displays the stored password information, i.e., CLnf7830nd59.
2.2. Using nmcli
The powerful command-line tool nmcli manages network connections in Linux distributions that utilize NetworkManager as the default network management service.
With nmcli, we can connect to WiFi networks, create and modify network connections, display connection status, and more, all without the need for a graphical user interface.
Before we begin to retrieve stored WiFi passwords, let’s install nmcli first using apt:
$ sudo apt install network-manager
Once nmcli is installed, let’s check out the network configuration files used by NetworkManager to control the network connections on our system:
$ nmcli connection show
NAME UUID TYPE DEVICE
Wlinkwifi 6e88fb8b-2a48-4e07-9a86-1912ab97fd03 wifi --
'WIFI.nmconnection' c0c7650d-e1e0-2728-8f59-66433c1efd49 wifi --
Homewifi.nmconnection eb23f20d-24b3-4804-a76b-ce0748924b0c wifi --
office WIFI 5a6dc4ac-2edc-4dbd-9c37-bce7df88b956 wifi --
...
Let’s select the SSID for Office WIFI and view its stored password using *nmcli:
*
$ nmcli connection show "Office WIFI" | grep -i psk
802-11-wireless-security.key-mgmt: wpa-psk
802-11-wireless-security.psk: CLnf7830nd59
802-11-wireless-security.psk-flags: 0 (none)
The above command along with grep -i psk filters and displays security-related information (WPA-PSK key management and the PSK itself) for the Office WIFI network connection. We can see the stored WiFi password, i.e., CLnf7830nd59.
3. GUI Method
We can also view stored WiFi passwords using the GUI method. Here we’ll be using Kali Linux as a primary operating system.
Let’s navigate to Advanced Network Configuration by typing it in the search bar:
The Advanced Network Configuration setting displays all the WiFi network connections.
Next, let’s select the Office WIFI, click on the edit setting as highlighted in yellow below, and click on the Wi-Fi Security tab to view the stored password:
Upon clicking the check mark on Show password, the Wi-Fi Security tab displays the stored password in clear text.
4. Conclusion
In this article, we explored both the command-line method and the GUI method to view stored WiFi passwords in Linux.
Whether through NetworkManager configuration files, the nmcli command-line tool, or a GUI interface, we can view the stored WiFi password. Understanding these methods empowers us to maintain reliable and seamless WiFi connections on Linux systems.