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


11

我能够通过nm-applet连接到802.1网络。我不喜欢这样做,因为我大多数时候都没有nm的情况下运行,因此我不想加载一个只是为了连接到无线网络。

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

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

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


尝试创建新的连接配置文件时收到此错误消息吗?
拉宾

@Rabin这是一个新连接。我不是在尝试创建新的配置文件,也不是在了解使用新连接配置文件的上下文。我只是在尝试使用nmcli d wifi connect eduroam连接到它.....
tensai 2014年

我使用这样的脚本调用nmcli nmcli con up 'connection-uuid',但我必须首先在NetworkManager中建立此连接。
拉宾2014年

是的,这是我的问题。如果以前没有连接到网络,该如何做。在许多情况下,我无法启动用户界面。在使用wpa-supplicant和手动配置配置文件之前,我已经连接到这些类型的网络
tensai 2014年

就像@tensai所说的那样,使用nmcli con edit命令手动配置可能是有意义的。
狂热梦'16

Answers:


15

您可以使用nmcli类似以下的命令行来创建WPA2 Enterprise连接(用自己的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].

通过遍历所有子设置,我能够拼凑上面显示的成功命令行。令人惊讶的是,密码必须在私钥路径之前-如果稍后放置密码,则无效!


7

nmcli Wifi

取得Wifi状态

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


1
我知道,所有这些选项:(他们没有对802.1X网络似乎适用,虽然这肯定是占莫名其妙,因为我可以通过小程序连接。
天才

@tensai,我遇到相同的问题:“错误:无法添加/激活新连接:(32)802-11-wireless-security.psk:属性无效”
tslater

@tensai,您会在输出中看到什么journalctl
拉宾

这个答案与802.1X没有任何关系。我很难看出它与问题的相关性。
查尔斯·达菲


2

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.