Я могу инициировать начало подключения к моей VPN, сказав
nmcli con up id WORKVPN
Но у меня есть RSA SecurID, который является частью аутентификации, что означает, что я не могу сохранить пароль. Без пароля Network Manager выдает приглашение с графическим интерфейсом. Я хотел бы иметь возможность передать пароль или, по крайней мере, запросить его в командной строке вместо графического интерфейса. Есть ли способ сделать это?
Я могу предложить несколько опций
sshpass (Осторожность: Я не судил меня, и это не безопасно, если кто-то смотрит через Ваше плечо или проходит Вашу историю)
sshpass -p vpnpassword <your command>
, Это работает с соединением SSH, дайте ему попытку.
А более практический и несколько более безопасный подход. Смотрите на , ожидают , какая установка в Ubuntu так же легка как
sudo apt-get install expect
Запись сценарий обертки, использование ожидает в Вашем сценарии
expect <<- DONE
expect "<put here what you see in your password prompt> "
send "<vpn password>\n"
interact
DONE
Эти команды работают на меня:
XAUTH="$(ps -C Xorg -o args= | sed -n 's/.*-auth \(.*\)/\1/p')"
export XAUTHORITY=$XAUTH
export DISPLAY=:0.0
XUSER="$(ps -C nm-applet -o user=)"
su ${XUSER} -c "nmcli c up 'VPN'"