0. 什么是 nmcli ?
Nmcli(Network Manager Command Line),是一个用于识别和配置 Internet 连接的常见 Linux 应用程序。许多发行版都有一个用于在桌面环境中使用 NetworkManager 的图形小程序,但如果在 Linux 服务器上,可能将无法访问桌面。
通过终端连接 Wi-Fi 的一些方法有点复杂,涉及配置文件和你知道的 PSK 密钥。
nmcli 不是这样。假设有一台现代路由器,只需要知道网络的 SSID(Service Set Identifier 要连接的网络的名称)和网络密码(如果有的话)。
1. 启用 Wi-Fi 设备
Linux PC 上的 Wi-Fi 卡需要启用,否则无法连接到 Internet。要查看所有网络接口的状态,请使用以下命令:
nmcli dev status
获得网络设备列表及其类型、状态和网络连接信息。
如果不确定 Wi-Fi 设备是否启用,可以使用如下命令进行检查:
nmcli radio wifi
如果输出显示 Wi-Fi 已 禁用,可以使用如下命令启用:
nmcli radio wifi on
2. 识别 Wi-Fi 接入点
如果不知道 Wi-Fi 接入点的名称(也称为 SSID),可以通过扫描附近的 Wi-Fi 网络来找到它。
nmcli dev wifi list
注意需要连接的网络的SSID下列出的名称,下一步需要用到它。
3. 连接到 Wi-Fi
启用 Wi-Fi 并识别到 SSID 后,可以尝试连接。可以使用一下命令建立连接:
sudo nmcli dev wifi connect network-ssid
将network-ssid
替换为网络名称。
如果 Wi-Fi 具有 WEP 或 WPA 安全性,可以在命令中指定网络密码。
sudo nmcli dev wifi connect network-ssid password "network-password"
通过空格分割参数,若SSID参数一个以上,记得用引号括起来
或者,如果不想在屏幕上写出密码,可以使用--ask
选项。
sudo nmcli --ask dev wifi connect network-ssid
系统现在将需要输入网络密码,但不会显示。
若设备现在已经连接到互联网,可以用ping
测试一下。
ping google.com
NetworkManager 将保存连接并在重新启动时自动连接,因此不必担心每次启动 Linux 机器时都会发出命令。
使用 nmcli 管理网络连接
可以通过发出以下命令查看所有已保存的连接:
nmcli con show
如果连接到一个网络,但想使用不同的连接,可以通过将连接切换为down来断开连接。需要指定 SSID,或者如果有多个相同 SSID 的连接,请使用 UUID。
nmcli con down ssid/uuid
要连接到另一个保存的连接,只需要在 nmcli 命令中传递 up 选项。确保指定要连接的新网络的 SSID 或 UUID。
nmcli con up ssid/uuid
使用图形化连接工具
sudo nmtui
参考链接
How to Connect to Wi-Fi Through the Linux Terminal With Nmcli
nmcli 工具详解