Прочитајте го името на опцијата буквално. Таа именува клуч, а конфузијата почнува кога датотеката што се отклучува се заменува со сметката што се автентицира. Ставете ја лозинката на сметката во таа опција и клиентот ќе се обиде да отвори датотека со клуч со неа, што не успева од причини што немаат никаква врска со најавувањето на VPN.

Збунувачко е тоа што една врска може легитимно да ги бара двете тајни. Автентикацијата со клиентски сертификат може да бара шифриран клуч, а истата порта може и по прифаќањето на сертификатот да спроведе размена за автентикација на корисникот. Ниту една тајна не го задоволува другиот чекор, а неуспехот во едната однадвор изгледа многу слично на неуспех во другата.

Две тајни, две различни работи

Читајте ги улогите како пристап до датотека наспроти дозвола за влез во мрежата. Лозинката на клучот го дешифрира PEM приватниот клуч наведен во --sslkey за да може да се претстави клиентскиот сертификат на TLS. Тоа дешифрирање се случува локално, внатре во процесот на клиентот, а самата лозинка никогаш не патува до портата. Портата ги гледа сертификатот и потписот направен со клучот. Упатството на OpenConnect го држи --key-password покрај --certificate и --sslkey, а во верзиите што можат да користат клуч во TPM истата опција наместо тоа ја носи лозинката на коренскиот клуч за складирање.

Лозинката на сметката е различна по вид. Таа влегува во размената за автентикација: формулар со корисничко име и лозинка, токен, круг на SAML или некоја комбинација што ја објавува портата. Некои распоредувања воопшто не ја бараат кога сертификатот е единствениот фактор, а некои ја бараат и по сертификат, бидејќи сертификатот го докажува уредот, а сметката го докажува човекот.

Мешањето на двете создава измамнички грешки. Портата што одбива најава обично пријавува неуспех во автентикацијата, додека погрешната лозинка на клучот обично не успева порано, кога слојот TLS не може да ја прочита датотеката со клуч. Тоа се различни фази со различни поправки, а имињата се доволно слични за луѓето да ги заменат и потоа да го бркаат погрешниот дневник. Забележете кое барање се појави пред да промените било која поставка, зашто текстот на барањето е најевтината дијагностика што ја имате.

Кога лозинката на клучот е навистина потребна

Опцијата има смисла само кога има шифриран клуч што треба да се отклучи. Ако се поврзувате со корисничко име и лозинка и без клиентски сертификат, --key-password нема на што да дејствува и неговото вклучување не менува ништо. Ако се поврзувате со --certificate и --sslkey, сопствениот формат на датотеката со клуч одлучува дали воопшто ќе се бара лозинка.

Двете тајни во една наредба се вообичаени во управувани средини: сертификат на уред во шифриран клуч, плус најава за секој корисник. Правилниот редослед е клиентот локално да побара лозинка за клучот, да го заврши ракувањето со сертификатот и потоа одделно да го обработи барањето за сметка од портата. Обидот двете да се пополнат однапред преку една повторно употребена скрипта е местото каде конфузијата обично почнува.

Корисна дијагностика е да се види кога се случува неуспехот. Ако клиентот запре пред да почне било каква мрежна автентикација, посомневајте се во датотеката со клуч, нејзиниот формат или лозинката. Ако се воспостави сесија на TLS и потоа портата го одбие корисникот, клучот ја завршил работата и проблемот е во размената за сметка.

Држете ги двете тајни надвор од историјата на лушпата

Аргументите на командната линија можат да ги читаат други локални корисници преку табелата со процеси и често се фаќаат во историјата на лушпата, скриптите и стенограмите за поддршка. OpenConnect може да ја чита лозинката за сметката од стандардниот влез со --passwd-on-stdin, а лозинката за клучот може да дојде од интерактивно барање или агент наместо од аргумент. Ниту еден механизам не ја прави тајната безбедна сама по себе, но двата ја држат надвор од најизложените места.

Датотеките заслужуваат исто внимание. Скриптата што пишува лозинка во привремена датотека треба да ја создаде со ограничени дозволи, да ја избрише при излез и да избегнува директориуми читливи за сите. Лозинка што ја преживува сесијата во привремен директориум е копија што сте заборавиле да ја направите. Променливите на околината се видливи за детските процеси и често ги отпечатуваат алатките за отстранување грешки, така што не се бесплатно подобрување во однос на аргументите.

Дијагностичкиот излез е тивкиот истек. Дневниците на клиентот при поголема деталност можат да покажат тела на барања или вредности на опции, а копираната стенограма од терминалот лесно се лепи во тикет, затоа прочитајте го излезот пред да го споделите.

Мртво копче на работната површина е различен дефект

Запис за VPN на работната површина што покажува вртење и потоа ништо обично воопшто не е проблем со автентикација. Копчето ѝ припаѓа на мрежна програма за управување, на аплет од производителот или на приклучок што го води OpenConnect во ваше име, а составница што недостасува или нечитлив профил можат да го создадат токму тој симптом. Откријте кој процес го покренува копчето и прочитајте ја неговата грешка пред да ги допрете акредитивите.

Примамливо е да се олабави проверката на сертификатот или да се исклучи проверка кога GUI-то одбива да се поврзе. Тоа претвора дефект во интеграцијата на клиентот во намалување на безбедноста и ретко го поправа проблемот со стартувањето. Зачувајте ја проверката на серверот непроменета, потврдете дека профилот покажува кон предвидената порта и проверете дали помошната програма што GUI-то ја очекува е навистина инсталирана.

Краток контролен список ги дели случаите. Локален неуспех пред да излезе било кој пакет покажува на клучот или на инсталацијата на клиентот. Одбивање од портата по сесијата на TLS покажува на размената за сметка. Копче што никогаш не го стартува клиентот покажува на интеграцијата со работната површина. Три различни дефекти, од кои еден е лозинка што штотуку сте сакале да ја залепите во погрешното поле.

Поврзани статии