Той самий профіль, два сеанси: з робочого столу він підключається, а через SSH зависає на запиті, на який ніщо не може відповісти. Нічого не зламано і жодне налаштування не втрачено. NetworkManager запитує облікові дані в агента секретів, а агент секретів — це компонент робочого столу, якого немає в сеансі, який ви використовуєте.

Виконайте послідовність нижче, і тунель підніметься без графічного інтерфейсу, із застереженням, що збереження секрету змінює те, хто може користуватися цим профілем.

Підтвердьте діагноз, перш ніж щось змінювати

Різниця між інтерактивною та неінтерактивною активацією — це весь діагноз. Якщо nmcli --ask connection up успішний, а звичайна активація зависає, профіль правильний і джерело секрету відсутнє. Це єдине порівняння рятує вас від переписування робочої конфігурації.

nmcli -f NAME,UUID,TYPE connection show
nmcli connection show "Office IPsec" | grep -i flags

Читайте прапорці, а не вгадуйте їх. Значення, що означають «спитати агента», — це те, що ви шукаєте, а точні назви ключів різняться між плагінами VPN, бо вони живуть у власному словнику даних плагіна. Профіль FortiSSL і профіль IPsec не обов'язково використовують ті самі назви, тож працюйте за виводом власного профілю.

Також переконайтеся, що пакунок плагіна для цього протоколу встановлено. Відсутній плагін проявляється як невідомий тип з'єднання або як помилка активації, яка нічого не каже про паролі, і гонитва за секретом у такому стані двічі марнує ту саму годину. Один запит до пакунків дешевший за цілий день правки файлів ключів.

Перемістіть секрет у файл ключа

Файл з'єднання лежить у /etc/NetworkManager/system-connections/. Секрети там за замовчуванням не зберігаються, і в цьому сенс щойно прочитаних прапорців. Установлення прапорця в нуль повідомляє NetworkManager, що значення збережено разом із профілем, а не запитується під час активації.

[vpn]
password-flags=0

[vpn-secrets]
password=YOUR-VPN-PASSWORD

Для профілю з двома секретами схема повторюється: один прапорець на секрет у розділі [vpn], а значення в [vpn-secrets]. Профіль IPsec зазвичай несе попередньо спільний ключ поруч з обліковими даними користувача, і плагін називає їх інакше, ніж звичайне поле пароля, тож копіюйте назви ключів із виводу vpn.data, а не з допису блогу, де використовувався інший плагін. Одне неправильне ім'я ключа дає профіль, який завантажується і потім не проходить автентифікацію, що читається точно як неправильний пароль. Перед повторним підключенням порівняйте свій файл із робочим профілем того самого плагіна.

Беріть у лапки значення, що містять пробіли, лапки або знак долара. Значення без лапок зі знаком $ буде прочитано буквально або розгорнуто залежно від того, де воно розбирається, і виникла помилка автентифікації виглядає як неправильний пароль.

Потім виправте власника й режим файлу. Ці файли ключів читає привілейована служба, а файл, який можуть читати інші користувачі, вважається ненадійним, і це звичайна причина того, що відредагований профіль начебто ігнорується. Власник root, режим 600, без винятків.

Перезавантажте, потім активуйте

Файл читається під час завантаження з'єднання, тож самої правки недостатньо. Перезавантажте профілі й потім явно підніміть з'єднання.

sudo nmcli connection reload
sudo nmcli connection up "Office IPsec"

Якщо перезавантаження не підхоплює зміну, це робить повний перезапуск служби, і є повідомлення саме про це. Віддавайте перевагу перезавантаженню, коли важливі інші з'єднання, бо перезапуск служби обриває кожне кероване з'єднання, а на віддаленому хості це може завершити ваш сеанс раніше, ніж підніметься потрібний тунель.

Використовуйте UUID, коли назви неоднозначні. Машини з кількома клієнтськими профілями накопичують майже дублікати, і активація неправильного дає збій, що виглядає як проблема з обліковими даними.

Коли збережений секрет не є проблемою

Профіль FortiSSL може зазнати невдачі навіть із правильними збереженими обліковими даними, бо клієнт ніколи не довіряє сертифікату шлюзу. Цей параметр не в головному діалозі; він за розширеними параметрами VPN, де вводиться дайджест довіреного сертифіката. Якщо журнал згадує сертифікат, а не пароль, ви в цій гілці, і жодна кількість правок [vpn-secrets] не допоможе.

Сюди належать ще дві перевірки. Переконайтеся, що профіль не імпортовано з файлу, який досі вказує на шлях, недоступний плагіну для читання, і що профіль є активним, а не застарілим дублікатом. Обидва дають збої активації, які читаються як помилки автентифікації.

Вирішіть, чи прийнятне зберігання

Збережені PSK і пароль доступні для читання всьому, що працює як root на цій машині. На машині, яку ви контролюєте, це розумний обмін за службу без графічного інтерфейсу. На спільному хості це заслуговує на розмову, бо профіль тепер містить облікові дані, які раніше захищала зв'язка ключів робочого столу. Запитайте, хто ще може отримати root на цьому хості, перш ніж вирішувати, а не після того, як зміну впроваджено.

Якщо політика забороняє зберігання секретів VPN, не послаблюйте профіль, щоб працювало завдання cron. Запускайте з'єднання із сеансу, де є агент, або використовуйте інший механізм для автоматизації.

Насамкінець запишіть, які профілі несуть секрети, щоб ніхто не скопіював один на ноутбук непомітно. Коментаря над розділом секретів із датою й причиною достатньо, і він позбавить когось незручної перевірки пізніше.

Схожі статті