여러 Linux 시스템에 여러 AP와 암호를 추가해야 하며 이 작업을 자동화해야 합니다. 최근에 나는 /etc/NetworkManager/system-connections/
시스템 생성 파일과 같은 파일에 구성을 작성하는 bash 스크립트를 작성했습니다 . 그러나 성공하지 못했습니다.
예:
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
루트 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
*이 코드는 데모용입니다(테스트되지 않았으며 작동하려면 조정이 필요할 수 있음). 사용하기 전에 각 명령에 대한 매뉴얼 페이지를 읽으십시오.