Як зберегти паролі VPN за допомогою NetworkManger для nmcli?


14

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

Я вважаю за краще nmcliзапитувати паролі на консолі, а не віджет GUI на робочому столі, але це здається неможливим.

Отже, два питання:

  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 автоматично підключитися до VPN Openconnect через 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

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.
Петро В. Морч

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

Не працювало для мене. Як root я отримав: (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.Як користувач "я", він відкрив діалогове вікно входу на віддалений робочий стіл.
Петро В. Морч

1
Я можу підтвердити це для Ubuntu 14.04 на VPN cisco.
Дейл Андерсон

Працює з Fritzbox 5490 та Ubuntu 16.04. Де IPSec secretзнаходиться загальнодоступний ключ IPSec і Xauth passwordпароль, який ви вибрали на Fritzbox. Будьте впевнені, щоб не зіпсувати правопис та верхнє / нижнє регістр ключового слова IPSec secretта Xauth password.
MadMike

3

Що стосується вирішення простої таємної помилки пароля в 16.04 , вам потрібні лише два рядки:

[vpn-secrets]
password=my_secret_password

Я б лише торкнувся / додав інші рядки, якщо це необхідно


1
Мені також потрібно було встановитиpassword-flags=0
П'єр Франсуа

2

Я не зміню конфігураційні файли, створені GUI. Наступного разу, коли ви натиснете на 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
    

    (Щоб знайти свій ВАШИЙ тип " nmcli con")

Для мене працює на Ubuntu 16.10.



0

Відредагуйте VPNC-з'єднання за допомогою діалогового вікна Network Connections.

На вкладці VPN введення паролів має піктограму всередині входу з правого боку. Клацніть цю піктограму та виберіть "Зберегти пароль лише для цього користувача".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.