В терминала се появява съобщение за systemd-tty-ask-password-agent, а тунелът не е вдигнат. Изкушаващото тълкуване е, че VPN е отхвърлил парола и нещо сега чака поправка. По-точно е да се каже, че услуга е поискала от systemd интерактивен вход и заявката още не е получила отговор. Коя услуга е поискала и кой таен ключ иска — това са два въпроса, които можете да решите, преди да напишете каквото и да е.

Кой трябва да отговори решават две условия

Първото условие е дали сте стартирали този екземпляр умишлено. Заявка, която следва ваше действие, е ваша за отговор, а тази, която се появява без съответстващо действие, принадлежи на нещо друго. Второто е дали тайната е удостоверяване на акаунт или защита на ключ, защото те живеят на различни места и минават по различни кодови пътища. И двата отговора се виждат в журнала, ако погледнете преди да действате.

Когато и двата отговора са ясни, решението е просто: отговорете през собствения поддържан път за подкана на услугата. Когато някой от тях е неясен, правилната стъпка е да разследвате, вместо да въвеждате парола в подкана, която не можете да припишете.

Това е цялото правило и си струва да се каже преди командите. Всичко по-долу следва от него.

Избройте заявката, преди да напишете каквото и да е

Агентът може да изброи какво чака, без да отговаря на нищо. sudo systemd-tty-ask-password-agent --list отпечатва чакащите заявки и този изход е доказателството, което ви трябва, за да свържете подкана с модул. Прочетете го, преди да предоставите идентификационни данни, и дръжте описанията на заявките далеч от всяко публично диагностично поставяне.

Свържете списъка с операцията, която сте започнали, и с модула, който я притежава. Ако нищо в списъка не съвпада с вашето действие, видяната подкана принадлежи на друга услуга и не е ваша за решаване. Името на модула в списъка е единствената надеждна връзка между подкана и услуга.

Не отговаряйте на заявка, която не можете да припишете. Цената на чакането е закъснение, а цената на отговора на грешната подкана е идентификационни данни на грешното място.

Кой таен ключ всъщност е нужен на екземпляра?

auth-user-pass се отнася до удостоверяване на акаунт към VPN услугата и без файл с идентификационни данни документираното поведение е да попита на конзолата. askpass вместо това получава паролата, която отключва защитен ключов материал, и го прави преди процесът да премине във фонов режим. Това са различни тайни с различен живот.

Форматите на файловете също се различават. Формата за акаунт очаква ред с потребителско име и ред с парола, докато файлът с парола за ключа чете първия ред като своя парола. Копирането на рецепта за файл с идентификационни данни от другата роля обикновено произвежда още една подкана, а не решение. Файл с грешна форма е по-лош от липса на файл, защото отказът се премества на място, което никой не наблюдава.

Проверете коя директива използва екземплярът, преди да решите какво да напишете. Името на директивата ви казва за коя тайна е подканата.

Какво прави --query, което --list не прави

--query обработва всяка чакаща заявка на извикващия терминал, което е много по-широко действие от отговор на една подкана. Това не е селектор на OpenVPN и на натоварена машина може да отговори на заявки, принадлежащи на други модули. Режимът на наблюдение е още по-широк, защото продължава да обработва заявки, докато пристигат.

Използвайте най-тесния механизъм, който работи. За една услуга собственият работен поток за подкана на тази услуга е по-тесен от глобален агент и държи отговора прикрепен към модула, който е поискал.

Превръщането на еднократна заявка в ненаблюдаван глобален агент, защото известие се появи веднъж, е начинът, по който временно дразнение става постоянен дизайн. Същата предпазливост важи за изключване на модулите за известия за парола на целия хост.

Решете, после запишете избора

За ненаблюдавано внедряване съгласувайте източника на идентификационни данни, правата на файла и графика за подновяване с този, който притежава връзката. Интерактивен втори фактор може да се нуждае от човек или от отделна самоличност на услуга. Потискането на подканата не създава това удостоверяване, а премахването на auth-user-pass само чупи услуга, която се нуждае от него.

След взаимодействието погледнете същия екземпляр за следващото му събитие и тествайте частния ресурс. Ако нищо не чака, върнете се към състоянието на екземпляра, вместо да стартирате всеки модул OpenVPN на хоста.

Подобни статии