如何通过 nmcli 连接到 802.1x 无线网络

如何通过 nmcli 连接到 802.1x 无线网络

我可以通过 nm-applet 连接到 802.1 网络。我不喜欢这样做,因为我大部分时间都在没有 nm 的情况下运行,并且我不想加载 nm 只是为了连接到无线网络。

连接到 802.1 网络时出现以下错误:

Error: Failed to add/activate new connection: (32) Failed to determine AP security information

我不知道如何解决这个问题,因为 nmcli 似乎没有提供任何指定网络类型的方法。

答案1

您可以使用命令行创建 WPA2 Enterprise 连接nmcli(将您自己的 wifi 设备名称替换为wlp3s0,等等):

nmcli connection add \
 type wifi con-name "MySSID" ifname wlp3s0 ssid "MySSID" -- \
 wifi-sec.key-mgmt wpa-eap 802-1x.eap tls 802-1x.identity "USERNAME" \
 802-1x.ca-cert ~/ca.pem 802-1x.client-cert ~/cert.pem \
 802-1x.private-key-password "..." 802-1x.private-key ~/key.pem

然后它将列在下面nmcli connection,并且可以使用 来调出nmcli connection up MySSID

使用用户名和密码进行身份验证

(此部分是由编辑帖子的贡献者添加的,很有帮助:)

或者,如果您使用用户名/密码身份验证(可能通过 RADIUS),您可以使用下面的命令来添加它(使用802-1x.eap适合您网络的正确选项,下面的示例ttls不需要定义证书),然后使用--ask第一次连接时将密码保存到连接文件中。

nmcli connection add \
 type wifi con-name "MySSID" ifname wlp3s0 ssid "MySSID" -- \
 wifi-sec.key-mgmt wpa-eap 802-1x.eap ttls \
 802-1x.phase2-auth mschapv2 802-1x.identity "USERNAME" 

如果使用用户名/密码选项,您应该在第一次调用--asknmcli添加它以保存密码,而不是将其保留在命令历史记录中。当您尝试以其他方式提出该问题时,它会给您一条错误消息。使用时,您可能会收到有关其他无线设置的提示--ask,您可以键入no它们,除非您需要指定静态 IP,在这种情况下,请回答yes该选项并设置正确的信息,并且将来您不需要使用--ask除非您的密码更改。

自行探索 nmcli

一般来说,nmcli可以通过将单词添加asdf.asdf asdf到命令行末尾来探索可能的设置空间,以生成一条错误消息,说明哪些单词可以替代第一个asdf。选择其中一个,然后您将收到一条错误消息,其中列出了第二个的可能的子设置asdf。选择其中之一,您将看到可能的设置:

$ nmcli connection add ... asdf.asdf asdf
Error: invalid or not allowed setting 'asdf': 'asdf' not among [connection, 802-11-wireless (wifi), 802-11-wireless-security (wifi-sec), 802-1x, ipv4, ipv6].
$ nmcli connection add ... wifi-sec.asdf asdf
Error: invalid property 'asdf': 'asdf' not among [key-mgmt, wep-tx-keyidx, auth-alg, proto, pairwise, group, leap-username, wep-key0, wep-key1, wep-key2, wep-key3, wep-key-flags, wep-key-type, psk, psk-flags, leap-password, leap-password-flags].
$ nmcli connection add ... wifi-sec.proto asdf
Error: failed to modify wifi-sec.proto: 'asdf' not among [wpa, rsn].

通过迭代所有子设置,我能够拼凑出上面显示的成功命令行。令人惊讶的是,密码必须位于私钥路径之前 - 如果您稍后输入密码,则不会产生任何效果!

答案2

无线网络

获取 Wi-Fi 状态

nmcli radio wifi

打开或关闭 wifi

nmcli radio wifi <on|off>

列出要连接的可用接入点 (AP)

nmcli device wifi list

刷新之前的列表

nmcli device wifi rescan

创建与开放 AP 的新连接

nmcli device wifi connect <SSID|BSSID>

创建到受密码保护的 AP 的新连接

nmcli device wifi connect <SSID|BSSID> password <password>

来源:http://fedoraproject.org/wiki/Networking/CLI#Wifi

答案3

NetworkManager 可以使用图形前端生成 WPA2 Enterprise 配置文件。 nmcli 并且 nmtui 不支持这一点,但可以使用现有的配置文件。

有关 WPA2_Enterprise 网络连接的更多信息

答案4

nmcli 似乎无法连接到 WPA2 企业网络。网络必须手动配置或通过各种小程序创建。

相关内容