自动添加接入点到 Linux debian

自动添加接入点到 Linux debian

我必须向多台 Linux 计算机添加多个 AP 和密码,并且需要自动化执行此操作。最近我编写了一个 bash 脚本来将配置写入文件中,/etc/NetworkManager/system-connections/例如系统生成的文件。但没有成功。

例子:

AP.txt我有一个包含 MAC 地址、SSID 和密码的文件:

xx:xx:xx:xx:xx:x1;ssid1;pass1
xx:xx:xx:xx:xx:x2;ssid2;pass2
xx:xx:xx:xx:xx:x3;ssid3;pass3
xx:xx:xx:xx:xx:x4;ssid4;pass4

和多台机器:

pc1
pc2
pc3
...

我想制作一个脚本将这些AP自动添加到我的计算机中,以便每台机器都可以自动连接到最近的AP。

答案1

假设您有 root ssh 密钥设置和本地生成的模板,请使用此进行统计;

for HOST in $HOSTS ; do
    scp wifi-templates/* $HOST:/etc/NetworkManager/system-connections/
    ssh $HOST 'U=$(ls -1 /home/ | head -n 1); perl -pi -e "s/(permissions=user:)you(:;)/$1'$U'$2/g" /etc/NetworkManager/system-connections/*'
done

模板;

while read L ; do
    SSID=$(echo $L | cut -d ";" -f 1)
       N=$(echo $L | cut -d ";" -f 2)
    PASS=$(echo $L | cut -d ";" -f 3)
    cp template $N
    perl -pe 's/SSID/'$SSID'/g;s/PASS/'$PASS'/g' $N
done < AP.txt

*此代码仅用于演示(未经测试,可能需要调整才能工作)请在使用前阅读每个命令的手册页;

相关内容