«Yanlış sirr» mesajını görmək adətən bir nəticə doğurur: VPN durğu işarələrini sevmir. Bu nəticə çox vaxt səhvdir, çünki mesaj tez-tez hər hansı şlüz hesaba baxmadan əvvəl yerli emaldan gəlir. İki dizayn eyni parolu ötürür — qrafik sahə və etimad faylı — və onlar müxtəlif yerlərdə uğursuz olur. Hər zaman qaydasında olan parolu sadələşdirməzdən əvvəl konteynerləri müqayisə edin.

Xəta şlüzdən əvvəl gəlir

Yerli yoxlama, kilidli sirr anbarı, çatışmayan agent və düzgün qurulmamış etimad faylı — hamısı istifadəçinin tək bir rədd kimi yaşadığı uğursuzluqlar yaradır. Bunların heç biri autentifikasiya serverinə aid deyil. Şlüzün öz rəddi ayrı bir hadisədir və adətən fərqli mesajla və fərqli vaxtla gəlir. Bu, tunel mövcud olduqdan və etimad məlumatı ötürüldükdən sonra baş verir.

Deməli, ilk sual hansı simvolların qanuni olması deyil, cəhdin harada dayandığıdır. Heç vaxt bağlantı açmayan klient heç kim tərəfindən rədd edilməyib. Müşahidə etdiyiniz mərhələni yazın, çünki sonrakı hər addım bu təsnifata bağlıdır.

Bu fərq həm də kimin düzəldəcəyini dəyişir. Konteyner problemi cihaza və onun sahibinə aiddir, hesabın rəddi isə autentifikasiya arxa planını idarə edənə aiddir.

Simvolları deyil, konteynerləri müqayisə edin

Qrafik parol sahəsi, açar zəncirindəki qeyd, iki sətirlik etimad faylı və avtomatlaşdırma sirri — hər biri eyni dəyəri fərqli zərfdə daşıyır. Zərfin öz qaydaları var və adətən qırılan məhz bu qaydalardır. Problem nadir hallarda dəyərin özündədir; dəyərin daşınmasındadır. Bu iki fikri ayrı saxlayın və diaqnoz qısalacaq.

Where the value stopsWhat you seeWhat you checkWho owns the fix
GUI field or managed profileA validation message before any connection opensThe selected authentication mode and whether the field holds the secret or the usernameThe device owner or the profile author
Keychain or secret agentA prompt that keeps reappearing, or an agent errorWhether the agent is unlocked and holds an entry for this profileThe user who owns the keychain
Two-line credential fileA prompt for a password that was already suppliedLine count, line order and whether a trailing newline is presentWhoever generated the file
Shell argument or environmentWorks interactively but fails in automationWhether the shell expanded, trimmed or logged the valueWhoever wrote the automation

OpenVPN 2.6 icma klient parametrləri həmin iki sətirlik faylı auth-user-pass üçün təsvir edir, o cümlədən parol sətri olmadıqda davranış: bu halda klient parolu özü soruşur. Bu tək detal «artıq verdiyim parolu yenə soruşur» tipli şikayətlərin bir sinfini izah edir. O həm də sizə deyir ki, boş ikinci sətir zərərsiz formatlaşdırma seçimi deyil, mənalı bir vəziyyətdir.

Sitatlama yenə ayrı bir qatdır: adi etimad faylındakı dırnaq işarələri data kimi saxlanılır, qabıq (shell) isə proqram heç nə görməmişdən əvvəl onları silir. Eyni simvol bir yerdə zərərsiz, digərində isə struktur xarakterlidir. Cədvəl sizə klientin hansı konteynerdən istifadə etdiyini deyə bilməz, ona görə sətir seçməmişdən əvvəl klientin öz konfiqurasiyasını oxuyun.

Sətir keçidləri də struktur xarakterlidir. Sətirlərlə ayrılmış sahələri olan fayl yeni sətir ehtiva edən dəyəri daşıya bilməz və bu, parolun gücü ilə bağlı hökm deyil, formatın məhdudiyyətidir. Sirri təxminən yaradılmış fayla sığdırmaq üçün qısaltmaq əvəzinə yerləşdirmənin dəstəklədiyi ötürmə mexanizmindən istifadə edin.

Etimad faylını qabığa zərər vermədən qurun

Ən təhlükəsiz yerli yol sirri qabıq tarixçəsindən və proses arqumentləri siyahısından kənarda saxlayır. Hər iki sahəni interaktiv oxuyun, sonra klientin gözlədiyi iki sətri yazın. Qalan hər şey asan nəzərdən keçirilən konfiqurasiya faylında qala bilər.

read -r VPN_USER
read -rs VPN_PASS
printf '%s\n%s\n' "$VPN_USER" "$VPN_PASS" > /etc/openvpn/client/creds
chmod 600 /etc/openvpn/client/creds
openvpn --config /etc/openvpn/client/office.conf --auth-user-pass /etc/openvpn/client/creds

İlk iki əmr istifadəçi adını, sonra parolu göstərmədən oxuyur, üçüncü hər iki sətri yazır, dördüncü faylı məhdudlaşdırır, sonuncusu klienti həmin faylla işə salır. Nəzərə alın ki, read -r tərs kəsikləri qoruyur — bu, buraxıldıqda işləyən parolu uğursuz parola çevirən dəqiq detaldır.

Faylı dırnaqsız dəyişənlə və ya qabıq genişlənmələri ilə dolu here-document ilə qurmaqdan çəkinin. Hər ikisi simvolları fayla çatmazdan əvvəl dəyişə bilər və nəticədə yaranan uğursuzluq VPN rəddinə bənzəyir, çünki diskdəki parol bildiyiniz paroldan həqiqətən fərqlidir. Bundan şübhələnirsinizsə, sirrin özünü çap etmədən faylın bayt uzunluğunu gözlənilən dəyərlə müqayisə edin. Bir-iki baytlıq fərq sitatlama qəzasının imzasıdır.

Mərhələni ilk xətadan oxuyun

Bir cəhdin ilk konkret mesajını saxlayın, sonra onu təsnif edin. Yerli yoxlama xətası, çatışmayan şəxsi açar, əlçatmaz sirr agenti və şlüzdə autentifikasiya uğursuzluğu — bunlar dörd fərqli nəticə və dörd fərqli sahibdir. Onlardan yalnız biri hesaba aiddir.

Əgər şlüz həqiqətən düzgün ötürülmüş etimad məlumatını rədd edirsə, hesabı, autentifikasiya arxa planını və tələb olunan istənilən çağırışı administratorla birlikdə yoxlayın. Ümumi autentifikasiya uğursuzluğu qadağan edilmiş simvolun adını çəkmir.

Təsdiqlənmiş dəyəri hərf və rəqəmlərə endirmək əvəzinə düzgün mexanizmlə bərpa edin. Parol siyasəti operatora aiddir və onu səssizcə pozan bir yan keçid düzəliş deyil. O həm də əsl qüsurun növbəti adamdan gizlədir — həmin şəxs eyni xəta ilə daha zəif parol və heç bir yaxşı fikir olmadan qarşılaşacaq.

Əlaqəli məqalələr