如何在非交互模式下使用 nmcli 连接到 WPA2 企业?

use*_*456 4 network-manager wpa wpa-supplicant nmcli

nmcli只能以由 发起的交互模式连接到 WPA 企业网络

 nmcli con edit id MYNAME
Run Code Online (Sandbox Code Playgroud)

nmcli 在未处于编辑模式时拒绝更改 802-1x 值:

nmcli c modify MYNAME wifi-sec.key-mgmt wpa-eap 
Error: Failed to modify connection 'MYNAME': 802-1x: 'wpa-eap' security requires '802-1x' setting presence
Run Code Online (Sandbox Code Playgroud)

您如何建议在没有“设置存在”的情况下进行连接,这是我不想要的,因为我想自动化连接设置过程。

Asu*_*nez 5

有点迟到的回应,但也许有人偶然发现了同样的问题并可能正在寻找解决方案。

正确的解决方案

编辑:看起来我对这两种解决方案都错了,因为我碰巧遇到了完全相同的错误。但是我找到了一个解决方案 - 只需802-1x在一行中设置所有设置,例如:

nmcli c modify <connection_name> 802-1x.eap <eap_mode> 802-1x.identity <username> 802-1x.phase2-auth <auth_type>

对于我测试过的内容,这 3 个设置是设置802-1x属性的最低要求。我将保留之前的答案,因为我相信这些仍然可能适用于解决方案的一部分。

以前的解决方案(供参考)

看起来您正在尝试wifi-sec.key-mgmt在设置802.1x值之前设置连接属性。简而言之,您必须按照指定的顺序进行编辑,802.1x首先是设置,然后是wifi-sec键。

但是,如果情况并非如此 - 您是否已经添加了连接?您可以使用以下命令添加一个空模板:

nmcli con add type wifi [ifname <interface_name>] [con-name <connection_name_shown>] [ssid <ssid_of_wifi_connection>]

可以跳过中的所有部分(不确定con-name[],但您需要modify稍后通过命令添加它们以运行网络,除非您只有 1 个 WLAN 接口。