您可以使用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"
如果使用用户名/密码选项,则应--ask
在nmcli
首次启动后添加它以保存密码,而不会将其保留在命令历史记录中。否则,您尝试启动它时,它会给您一条错误消息,提示您更多信息。使用时--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].
通过遍历所有子设置,我能够拼凑上面显示的成功命令行。令人惊讶的是,密码必须在私钥路径之前-如果稍后放置密码,则无效!