nmcli linux 终端连接Wi-Fi
Nmcli(Network Manager Command Line) 通过 Linux 终端连接到 Wi-Fi 是用于识别和配置 Internet 连接的常见 Linux 应用程序
许多发行版都有一个用于在桌面环境中使用 NetworkManager 的图形小程序
但在 Linux 服务器上 可能将无法访问桌面
假设有一台现代路由器,只需要知道网络的 SSID(Service Set Identifier 要连接的网络的名称)和网络密码(如果有的话)
1. 启用 Wi-Fi 设备
Linux PC 上的 Wi-Fi 卡需要启用,否则无法连接到 Internet 要查看所有网络接口的状态
命令
# nmcli dev status
DEVICE TYPE STATE CONNECTION
enp4s0 ethernet connected enp4s0
lo loopback connected (externally) lo
wlp5s0 wifi disconnected --
获得网络设备列表及其类型、状态和网络连接信息
如果不确定 Wi-Fi 设备是否启用,可以使用如下命令进行检查
# nmcli radio wifi
enabled
如果输出显示 Wi-Fi 已 禁用,可以使用如下命令启用
# nmcli radio wifi on
2. 识别 Wi-Fi 接入点
如果不知道 Wi-Fi 接入点的名称(也称为 SSID),可以通过扫描附近的 Wi-Fi 网络来找到它
# nmcli dev wifi list
IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY
B8:27:C5:46:DC:D9 -- Infra 11 1170 Mbit/s 100 ▂▄▆█ WPA2
B8:27:C5:46:DC:D4 ChinaNet-3C8CB6-5G Infra 11 1170 Mbit/s 100 ▂▄▆█ WPA1 WPA2
B8:27:C5:46:DC:D8 ChinaNet-3C8CB6-5G Infra 40 1170 Mbit/s 100 ▂▄▆█ WPA1 WPA2
B8:27:C5:46:DC:DA -- Infra 40 1170 Mbit/s 100 ▂▄▆█ WPA2
FC:0C:45:6C:F4:41 CMCC-604 Infra 11 130 Mbit/s 44 ▂▄__ WPA1 WPA2
C0:B1:01:3C:8C:B7 ChinaNet-3C8CB6-5G Infra 40 1170 Mbit/s 44 ▂▄__ WPA1 WPA2
C2:B1:01:7C:8C:B7 -- Infra 40 1170 Mbit/s 44 ▂▄__ WPA1 WPA2
C2:B1:01:3C:8C:B6 -- Infra 10 1170 Mbit/s 40 ▂▄__ WPA1 WPA2
C0:B1:01:3C:8C:B6 ChinaNet-3C8CB6 Infra 10 1170 Mbit/s 37 ▂▄__ WPA1 WPA2
注意需要连接的网络的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"
# sudo nmcli dev wifi connect ChinaNet-3C8CB6-5G password "uzsy7277"
通过空格分割参数,若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