Он работает после внесения следующего изменения
/%FROMHOST%/%FROMHOST%-
вместо %HOSTNAME%/%HOSTNAME%
script1 + 2:
VPNUSER=Rilcon42
VPNGRP=01
# =============================================================================
# you shouldn't have to change anything below here
VPNURL=https://remote.someserver.edu
VPNSCRIPT=/usr/share/vpnc-scripts/vpnc-script
sudo openvpn --mktun --dev tun1 && \
sudo ifconfig tun1 up && \
sudo /usr/sbin/openconnect -s $VPNSCRIPT $VPNURL --user=$VPNUSER --authgroup=$VPNGRP --interface=tun1 &
rdesktop 123.1234.23.1453
wait
sudo ifconfig tun1 down
Часть, которая считывает ввод пользователя с терминала, должна работать на переднем плане. В большинстве настроек sudo
необходимо запускать на переднем плане.
Вызов sudo
для всего скрипта. Вызов sudo
отдельно, подобным этому, для выполнения последовательных команд не имеет особого смысла.
Предполагая, что openconnect
не считывает вводимые пользователем данные, измените Script
на
VPNUSER=Rilcon42
VPNGRP=01
VPNURL=https://remote.someserver.edu
VPNSCRIPT=/usr/share/vpnc-scripts/vpnc-script
sudo -b sh -c '
openvpn --mktun --dev tun1 &&
ifconfig tun1 up && {
/usr/sbin/openconnect -s "$1" "$2" --user="$3" --authgroup="$4" --interface=tun1
ifconfig tun1 down
}
' "$VPNSCRIPT" "$VPNURL" "$VPNUSER" "$VPNGRP"
и запустите Script1 на переднем плане, но только после подключения VPN (что может раздражать для обнаружения - может быть, пингуя удаленный конец, пока он не появится).
Я не знаком с openconnect, поэтому догадываюсь, что он делает. Если openconnect
требует ввода данных пользователем с терминала, а затем блокируется до тех пор, пока VPN не будет отключен, запуск его в фоновом режиме не будет работать. Но если это работает так, вероятно, у него есть возможность перейти в фоновый режим после прочтения пароля.