У меня есть две VPN, настроенные на моей машине Ubuntu, одна с использованием vpnc, а другая с использованием PPTP. Оба они были настроены с использованием интерфейса GNOME network manager и отлично работают. Однако иногда мне нужно получить удаленный доступ к этому компьютеру - есть ли способ подключиться или отключиться от этих VPN из командной строки?
Если вы хотите взаимодействовать с NetworkManager из командной строки, вы можете использовать команду "nmcli".
перечислите все соединения NM: nmcli con
начать подключение (Wi-Fi, vpn и т.д.): nmcli con up id ConnectionName
нисходящее соединение: nmcli con down id ConnectionName
(дополнительные команды nmcli в справочная страница nmcli).
Также обратите внимание, что обычные пользователи обычно не имеют разрешения на управление сетью. Используя приведенные выше команды с sudo
должно работать для большинства подключений, но VPN, в частности, может выйти из строя при "Ошибка: не удалось активировать соединение: нет действительных секретов VPN".
Если это произойдет с вами, вполне вероятно, что пароль VPN хранится в связке ключей gnome вашего пользователя, что делает его недоступным для пользователя root. Этот комментарий объясняет почему.
Чтобы исправить это, отредактируйте /etc/NetworkManager/системные подключения/Имя подключения и под [vpn]
, изменить флаги паролей линия к:
password-flags=0
Если есть строка, начинающаяся с Xauth password-flags
, вместо этого измените его.
Затем добавьте следующее ниже [vpn]
блок:
[vpn-secrets]password=YourPassword
(Если на предыдущем шаге вы изменили строку Xauth password-flags
, добавить Xauth password=...
вместо этого.)
Теперь перезапустите network manager с помощью:
sudo service network-manager restart
Затем запустите VPN-соединение с помощью sudo nmcli con up id ConnectionName
должно работать без проблем.
ответ ihashacks с Комментарии Мэтта сработало на меня... почти. Пришлось подправить одну строчку.
Моя строка с паролем-флагом на самом деле гласила: "Xauth password-flag
". Принятый ответ не будет работать для меня, пока я не перейду к следующему
[vpn]...Xauth password-flag=0IPSec secret-flags=0[vpn-secrets]Xauth password=<my pw> ## This is the one I changed.IPSec secret=<group pw>
Не уверен, почему мои VPN-соединения имеют "Xauth
"перед каждым упоминанием пароля.