如何自动连接到已保存的网络列表

如何自动连接到已保存的网络列表

我想让我的 Debian 笔记本电脑自动连接到文本文件中存储的 WiFi 网络列表,其语法如下SSID:密码,使用非图形方式(脚本或配置)。

这些网络可能具有不同类型的安全性:开放、Wep、WPA 或 WPA2

这可能吗? 怎么做?

答案1

假设 i) 您的无线接口被调用wlan0,并且 ii) 您已经连接到这些网络至少一次,以便保存它们的凭据,并且 iii) 您正在使用网络管理器(你可能是);你可以用nmcl,NetworkManager 的命令行界面。

创建一个文本文件,其中包含您要尝试的网络名称列表:

network1
network2
network3

然后,迭代该文件,尝试连接:

while read essid; do nmcli con up id "$essid" && break; done < list.txt

这将尝试连接到文件中的每个 ESSID,并在建立连接后立即停止。


如果您的网络安全凭证未保存,您可以创建一个包含 ESSID 和所需密钥的列表:

network1 key1
network2 key2
network3 key3

然后,迭代这些值并用于iwconfig连接:

while read essid key; do
    sudo iwconfig wlan0 essid "$essid" key s:"$key"
done < list.txt

请注意,上面的代码正在运行sudo。这意味着除非将其作为root.

相关内容