如何使用 nmcli 连接到 Wifi

如何使用 nmcli 连接到 Wifi

有时您可能需要在Linux中使用命令行连接到wifi。如果您使用的是没有桌面的Linux,例如在虚拟机中,则尤其如此。有许多工具,例如nmcli,允许您在Linux中执行此操作。在本文中,我们将介绍如何使用nmcli连接到wifi。

什么是 nmcli?

nmcli 是网络管理器的命令行界面。大多数Linux系统都有此工具的桌面版本。但几乎每个Linux系统都有这个工具的命令行界面。与其他网络管理器工具不同,使用 nmcli 配置和管理网络非常容易。您只需知道其SSID(网络名称)及其密码即# 如何使用 nmcli 连接到 Wifi

有时您可能需要在Linux中使用命令行连接到wifi。如果您使用的是没有桌面的Linux,例如在虚拟机中,则尤其如此。有许多工具,例如nmcli,允许您在Linux中执行此操作。在本文中,我们将介绍如何使用nmcli连接到wifi。

什么是 nmcli?

nmcli 是网络管理器的命令行界面。大多数Linux系统都有此工具的桌面版本。但几乎每个Linux系统都有这个工具的命令行界面。与其他网络管理器工具不同,使用 nmcli 配置和管理网络非常容易。您只需知道其SSID(网络名称)及其密码即可快速连接到wifi。

No Wi-Fi device found错误解决

我刚刚用 rocky linux 8.6 重新安装了我的一台机器。安装过程很好,但是当机器完成重新启动时,我试图使用nmcli(NetworkManager)设置对无线网络的访问,我收到以下错误消息:

1
2
3
4
5
# nmcli dev
DEVICE TYPE STATE CONNECTION
enp0s25 ethernet unavailable --
lo loopback unmanaged --
wlo1 wifi unmanaged --

1
2
# nmcli dev wifi rescan
Error: No Wi-Fi device found.

我花了很多时间寻找问题所在,终于找到了解决方案。似乎NetworkManager中的Wi-Fi支持已被分离到一个插件中。软件包NetworkManager-wifi丢失了。它应该足以杀死NetworkManager并将其作为root再次启动。如果失败,您可以随时尝试旧的重启技巧!无论哪种方式,它都应该有希望工作。 最后安装下面这个包后解决问题,安装后重新启动一下NetworkManager

1
yum install NetworkManager-wifi

如何使用 nmcli 连接到 Wifi

以下是使用nmcli连接到wifi的步骤。

1. 启用无线设备

首先,您需要启用wifi网卡才能连接到它。打开终端并运行以下命令以列出系统上的所有网络设备。

1
$ nmcli dev status

上述命令将列出所有网络设备及其名称、状态、类型和连接信息。

或者,您可以使用以下命令检查您的wifi是否已启用。

1
$ nmcli radio wifi

如果禁用了命令的输出,则运行以下命令以启用它。

1
$ nmcli radio wifi on

2. 识别无线点

如果您不知道 wifi 网络的名称,请运行以下命令以列出附近的所有 wifi 网络,包括您的 wifi 网络。

1
$ nmcli dev wifi list

在输出中的 SSID 列下,记下您的 wifi 的名称。

3. 连接到无线网络

现在,您已经启用了wifi并记下了网络的名称,请运行以下命令以连接到它。

1
$ sudo nmcli dev wifi connect network-ssid

在上面的命令中,将 network-ssid 替换为网络的 ssid。系统将提示您输入密码。输入它进行身份验证。您也可以在命令中提供网络密码,如下所示。

1
$ sudo nmcli dev wifi connect network-ssid password "network-password"

如果不想在命令中提及密码,请使用 –ask 选项提示用户输入密码。

1
$ sudo nmcli --ask dev wifi connect network-ssid

连接到网络后,可以使用 ping 命令对其进行测试。下面是一个 ping google.com 的示例。

1
$ ping google.com

如果要查看系统上保存的所有网络连接,请运行以下命令。

1
$ nmcli con show

如果要断开与网络的连接,请使用 down 关键字。将下面的 SSID 替换为您的网络 SSID。如果您有多个网络,请将 SSID 替换为网络的 UUID。

1
$ nmcli con down ssid/uuid

另一方面,如果要连接到网络,请使用**up**关键字。将下面的 SSID 替换为您的网络 SSID。如果您有多个网络,请将 SSID 替换为网络的 UUID。

1
2
$ nmcli con up ssid/uuid
# 可快速连接到wifi。