コンピューターが接続されている SSID と時刻に応じて、sshuttle コマンドを発行するスクリプトを作成しました。ただし、コマンドはスクリプトに影響を与えないようです。スクリプトが実行されており、スクリプトの外部で実行すると、同じコマンドが完全に機能します。私が接続するネットワークは、内部認証として MSCHAPv2 を使用する WPA2 PEAP です。スクリプトの実行が早すぎて、ssh 接続を確立できないのではないかと思います。
#!/bin/sh
logger -s "zcallshuttle triggered"
ssid=`iwgetid --raw`
logger -s "SSID found: $ssid"
mac=`iwgetid -a --raw`
ip=`ifconfig $IF | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'`
# python /etc/network/sshvpn $ssid $mac $ip
# I was trying a python script before that has the time constraints
sshuttle_pid=`cat /tmp/sshuttle.pid`
kill $sshuttle_pid
logger -s "issued kill"
sshuttle --dns --daemon --pidfile=/tmp/sshuttle.pid --remote=kaizer@target 0/0>/tmp/vpn.log
# as you can see, I try to get the output of the sshuttle command in /tmp/vpn.log
logger -s "vpn443 called successfully."
/tmp/vpn.log は空のままでした。
手動で実行すると、コマンドは問題なく動作します。