操作系统:(Arch Linux)Linux HP-Arch 4.17.4-1-ARCH
NetworkManager 能够连接到我的 AP“SYSU-SECURE”,该 AP 需要 802.1X 身份验证。但是,我现在想直接使用 shell 脚本运行 wpa_supplicant。
NetworkManager 上的“SYSU-SECURE”配置在这里:(
由 GUI nm-applet 生成)
(文件:/etc/NetworkManager/system-connections/SYSU-SECURE)
[connection]
id=SYSU-SECURE
uuid=<SOME_UUID>
type=wifi
permissions=user:<SOME_LOCAL_ACCOUNT>:;
[wifi]
mac-address=00:DB:DF:78:F6:9F
mac-address-blacklist=
mode=infrastructure
ssid=SYSU-SECURE
[wifi-security]
auth-alg=open
key-mgmt=wpa-eap
[802-1x]
eap=peap;
identity=<SOME_USERNAME>
password=<SOME_PASSWORD>
phase2-auth=mschapv2
[ipv4]
dns-search=
method=auto
[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto
上面的配置成功了。但是我想要的是这样的:(
文件:/usr/local/bin/connect_to_SYSU-SECURE.sh)
#!/bin/bash
wpa_supplicant -B -i wlo1 -c <(echo '
network={
ssid="SYSU-SECURE"
key_mgmt=IEEE8021X
eap=PEAP
phase2="auth=MSCHAPV2"
identity="<SOME_USERNAME>"
password="<SOME_PASSWORD>"
}')
dhcpcd -4 wlo1
上面的 shell 脚本失败了。请帮我改正一下。
谢谢。
答案1
对于现代 WPA-Enterprise,您需要设置key_mgmt
为WPA-EAP
。(您可能已经注意到,NM 中的大多数值实际上与 wpa_supplicant 直接接受的值相同。)
有两种不同的方式使用 802.1X 来实现 Wi-Fi,选择IEEE8021X
实际是选择“WEP 动态密钥”模式(或者甚至可能是纯文本、仅身份验证模式)。
我建议继续使用 NetworkManager 并删除该permissions=
选项,以便连接变为全系统连接。