AnyConnect VPN へ自動的に接続する bash script
macbook pro( Mojave ) にて動作
- ~/bin へ全てのファイルを保存
- wifiswitch.sh のconfig を自分の環境に合わせて変更
- 追加したファイルへ実行権を追加
- .bashrc へ環境変数を追加
- ~/bin/wifiswitch.sh を実行
自分の環境に合わせて更新が必要
# VPNを使用するネットワーク環境
use_vpn="Automatic" <- 多分そのままで動く
# 自動接続しないSSID
exclude_ssid="mywifi" <- 除外したいSSIDを記載 複数SSIDには未対応
以下のコマンドを実行
cd ~/bin
chmod +x anyconnect.sh
chmod +x wifiswitch.sh
chmod +x anyconnect_disconnect.sh
- VPN_ANYCONNECT_ADDR : AnyConnectで使用する接続先
- VPN_ANYCONNECT_USER : AnyConnectで使用するユーザ名
- VPN_ANYCONNECT_PASS : AnyConnectで使用するパスワード
Mac では、plist ファイルを作って、ファイル監視をすると
ネットワークの切り替えが監視できるので、以下のファイルを作ると
幸せになれるかもしれない
※ホームフォルダは、自分の環境に合わせて書き換えが必要
~/Library/LaunchAgents/github.com.himitsudesu.wifiswich.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>github.com.himitsudesu.wifiswich</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>--login</string>
<string>/Users/himitsudesu/bin/wifiswich/wifiswitch.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/dev/null</string>
<key>StandardOutPath</key>
<string>/dev/null</string>
<key>WatchPaths</key>
<array>
<string>/Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist</string>
<string>/Library/Preferences/SystemConfiguration/preferences.plist</string>
</array>
</dict>
</plist>