Как сохранить пароли VPN с помощью NetworkManger для nmcli?

14

Есть много постов о введении паролей VPN в /etc/NetworkManager/system-connections/<connection>. Я не могу заставить их работать на Ubuntu 12.04. Поля в вопросах и ответах кажутся немного отличающимися от моих. Наиболее близким было: Как сохранить пароли VPN с помощью NetworkManger .

Я бы предпочел nmcliпопросить пароли на консоли, а не в графическом виджете на рабочем столе, но это кажется невозможным.

Итак, два вопроса:

  1. Являются ли /etc/NetworkManager/system-connections/<connection>файлы и их поля официально задокументированы в любом месте? Кажется, есть много 404 для ссылок документации NetworkManager.
  2. Что не так с моим файлом подключения?

Вот мой файл подключения. В этом файле я пробовал множество вариантов настроек, но это настолько близко к хорошему, насколько я мог придумать (анонимно, конечно):

[connection]
# Not sure if this helps or breaks anything. Fails regardless.
permissions=user:peter:;
id=My VPNC
uuid=a2cd97d5-7df1-4391-91d8-7e72931ec2de
type=vpn
autoconnect=false
timestamp=1396942441

[vpn]
service-type=org.freedesktop.NetworkManager.vpnc
NAT Traversal Mode=natt
ipSec-secret-type=save
IPSec secret-flags=0
xauth-password-type=save
Vendor=cisco
Xauth username=user
IPSec gateway=1.2.3.4
XAuth password-flags=0
IPSec ID=Ipsec
Perfect Forward Secrecy=server
IKE DH Group=dh2

[vpn-secrets]
XAuth password=password
IPSec secret=grouppassword

[ipv4]
method=auto

Permissons:

> ls -l /etc/NetworkManager/system-connections/My\ VPNC 
-rw------- 1 root root 527 Apr  8 10:11 /etc/NetworkManager/system-connections/My VPNC

Запуск это дает:

> sudo nmcli con up id  'My VPNC'
Active connection state: unknown
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/44
state: VPN connecting (need authentication) (2)
Error: Connection activation failed: no valid VPN secrets.

Изменить: Вот еще один аналогичный пост (хотя об Openconnect VPN, однако): Как я могу получить NetworkManager для автоматического подключения к Openconnect VPN через nmcli без запроса имени пользователя и пароля

Петр В. Мёрч
источник

Ответы:

11

Когда вы устанавливаете VPN-соединение через графический интерфейс, пароль сохраняется в связке ключей. Если вы сохраните свой пароль в файле подключения, вот так:

sudoedit /etc/NetworkManager/system-connections/MyConnectionExampleName

in this file:

    # 1 here means key-ring I  think, but with 0, the password below is  used
    [vpn]
    password-flags=0
    cert-pass-flags=0

    [vpn-secrets]
    password=my_secret_password
    cert-pass=my_secret_certificate_password
HackerBaloo
источник
1
У меня не работает здесь сейчас 15.04. Если я запускаю nmcli con up id MyVPNкак мой собственный пользователь, диалоговое окно пароля все еще появляется на рабочем столе удаленного компьютера. Бег sudo nmcli con up id MyVPNдавал сначала, (process:3320): libnm-glib-WARNING **: async_got_type: could not read properties for /org/freedesktop/NetworkManager/ActiveConnection/7: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't existа потомError: Connection activation failed: Creating object for path '/org/freedesktop/NetworkManager/ActiveConnection/7' failed in libnm-glib.
Peter V. Mørch
4

У меня была такая же проблема, / var / log / messages регистрировала сообщение, где NetworkManager жаловался на недопустимые свойства. После того, как я удалил свойства флага и типа и оставил только записи [vpn-secrets], соединение могло быть установлено.

ipSec-secret-type=save
IPSec secret-flags=0
xauth-password-type=save
XAuth password-flags=0

Пакет, который я установил:

NetworkManager-0.8.1-66.el6.x86_64

Результат:

[connection]
id=My VPNC
uuid=a2cd97d5-7df1-4391-91d8-7e72931ec2de
type=vpn
autoconnect=false
timestamp=1396942441

[vpn]
service-type=org.freedesktop.NetworkManager.vpnc
NAT Traversal Mode=natt
Vendor=cisco
Xauth username=user
IPSec gateway=1.2.3.4
IPSec ID=Ipsec
Perfect Forward Secrecy=server
IKE DH Group=dh2

[vpn-secrets]
XAuth password=password
IPSec secret=grouppassword

[ipv4]
method=auto
Оскар
источник
Не работал для меня В (process:2034): libnm-glib-WARNING **: async_got_type: could not read properties for /org/freedesktop/NetworkManager/ActiveConnection/4: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist Error: Connection activation failed: Creating object for path '/org/freedesktop/NetworkManager/ActiveConnection/4' failed in libnm-glib.качестве пользователя root я получил: как пользователь «я», он открыл диалог входа на удаленный рабочий стол.
Петр В. Мёрк,
1
Я могу подтвердить, что это работает для Ubuntu 14.04 в cisco VPN.
Дейл Андерсон
Работает с Fritzbox 5490 и Ubuntu 16.04. Где IPSec secretнаходится Pre-Shared Key IPSec и Xauth passwordпароль, который вы выбрали на Fritzbox. Убедитесь, что не перепутали орфографию и прописные и строчные буквы IPSec secretи Xauth password.
MadMike
3

С точки зрения разрешения простой секретной ошибки пароля в 16.04 , вам нужны только две строки:

[vpn-secrets]
password=my_secret_password

Я бы только коснулся / добавить другие строки, если это необходимо

волк
источник
1
Мне также нужно было установитьpassword-flags=0
Пьер Франсуа
2

Я бы не стал менять сгенерированные GUI конфигурационные файлы. В следующий раз, когда вы сделаете щелчок в графическом интерфейсе, ваши ручные записи исчезнут. Также обновление системы может тормозить это.

Вы можете попробовать следующее:

  • Разрешить запуск sudo nmcliбез пароля:

    Создать файл /etc/sudores.d/mynmcli(имя файла не имеет значения)

    Host_Alias HOST = YOURHOSTNAME
    Cmnd_Alias NMCLI    = /usr/bin/nmcli
    YOURHOSTNAME HOST=(root) NOPASSWD:NMCLI
    
  • Создайте файл паролей с помощью:

    vpn.secrets.Xauth password:PASSWORD
    vpn.secrets.IPSec secret:SHAREDSECRET
    

    Теперь вы можете запустить следующую строку в скрипте, который обрабатывается кукурузой:

    sudo nmcli con up id YOURVPN passwd-file /path/to/your/file
    

    (Чтобы найти YOURVPN введите " nmcli con")

У меня работает на Ubuntu 16.10.

Wolfi
источник
1

Делай, что сказал Вольф . Сохраните файл.

Затем введите

sudo service network-manager restart

и ударил Enter.

Теперь ваши изменения в силе.

Hypocritus
источник
0

Отредактируйте VPN-соединение с помощью диалогового окна «Сетевые подключения».

На вкладке VPN вводы пароля имеют значок внутри входа справа. Нажмите на этот значок и выберите «Сохранить пароль только для этого пользователя».

Галатам
источник