Avendo la necessità di configurare una VPN verso apparecchiature FORTINET abbiamo rilevato alcune criticità e le abbiamo risolte con questo semplice script.
#!/usr/bin/expect -f set timeout -1 spawn ./forticlientsslvpn_cli --server vpn.xxxx.xx:10443 --vpnuser user expect "Password for VPN:" {send -- "password\r"} expect "to this server? (Y/N)\r" {send -- "y\r"} expect eof
Oppure questo:
#!/usr/bin/expect -f spawn ./forticlientsslvpn_cli --server : --vpnuser 2>&1 log_user 0 send_user "Logging in\n" expect "Password for VPN:" send "\n" # i needed ths for 'certificate error' expect "Would you like to connect to this server" send "Y\n" send_user "Beginning to connect\n" expect "STATUS::Tunnel running" send_user "Tunnel running!\n" # this is how long the next expect waits for pattern match, in seconds set timeout 90001 expect "STATUS::Tunnel closed" send_user "Tunnel closed!\n" send_user "Dying\n" close exit
Potrebbe essere necessario installare il ppp, expect e le librerie di compatibilità per eseguibili a 32 bit.
apt-get install ppp apt-get install expect apt-get install lib32stdc++6
Qui il LINK per scaricare il client.
Andrea