我想在 Linux 中通过命令行连接到无线网络。当我这样做时,我一直遇到这个问题:
$ wpa_passphrase NETWORK_SSID NETWORK_PASSWORD
Passphrase must be 8..63 characters
NETWORK_PASSWORD 只有五个字符。
通过智能手机连接没有问题。你能帮我解决这个问题吗?
答案1
wpa_passphrase
用于生成自动 WPA 连接的密钥。如果您需要一次从命令行设置的手册,请使用iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
答案2
您不能输入少于 8 个 ASCII 字符,因为它是在 802.11 标准中定义的
你能做的就是使用 8 个以上的 ASCII 字符。
您还可以在源代码中查看协议的实现wpa_密码
if (os_strlen(passphrase) < 8 || os_strlen(passphrase) > 63) {
printf("Passphrase must be 8..63 characters\n");
return 1;
}
顺便说一句,wpa_passphrase
用于生成密码短语,而不是连接 WLAN。密码短语用于wpa_supplicant.conf
我推荐您使用的工具,有关更多信息,请单击[wpa_supplicant][1]
。
或者,您可以使用iw
工具或已弃用的iwconfig
.然而,这两个工具仅适用于正在逐步淘汰的 WEP 加密(当然还有开放网络(无加密))。您无法连接到使用 WPA 或 WPA2 加密的 AP