OpenVPN idarəedici terminalda istifadəçi adı və parol tələb edir və standart girişə yönləndirilmiş fayl həmin terminal deyil. Bu bir detal, parol borunun içində olduğu halda donub qalan skripti izah edir. Tələbi müştəri çəkir və oxuma terminal qurğusundan aparılır, ona görə stdin-in yönləndirilməsi heç nəyi dəyişmir. Müştərini sənədləşdirilmiş giriş qoşmalarından biri ilə qidalandırın və eyni skript ilk cəhddə qoşulacaq.

Üç qoşma demək olar ki, hər halı əhatə edir və hər biri öz üsulu ilə uğursuz olur. Seçimi müştərinin həqiqətən göstərdiyi tələbə görə edin, skriptləməsi ən asan olan seçimə görə deyil.

Tələb stdin-dən gəlmir

OpenVPN etimad məlumatlarına ehtiyac duyduqda idarəedici terminalı açır və oradan oxuyur. Buna görə interaktiv sınaq yaxşı görünür, cron və ya unit faylı altında eyni əmr isə heç kimin izləmədiyi jurnala yazılmış tələblə boş dayanır. Bəzi buraxılışlar terminal olmadıqda standart girişə geri çəkilir və bu uyğunsuzluq sərt uğursuzluqdan pisdir, çünki problemi yerləşdirməyə qədər gizlədir.

Hər hansı kod yazmazdan əvvəl mühiti yoxlayın: müştərini planlayıcı və ya xidmət meneceri ilə eyni istifadəçi və eyni stdin altında işə salın. Əgər tələb jurnalda heç görünmürsə və proses irəliləyiş etmirsə, nəsə mövcud olmayan terminalı gözləyir.

Birinci qoşma: iki sətirlik etimad faylı

Doğrulama seçimi bir yol qəbul edir və fayl tam iki sətir saxlayır: istifadəçi adı, sonra parol, başqa heç nə. Yolu açıq şəkildə ötürün, standart fayl adına güvənməyin, çünki iş qovluğunda təsadüfi etimad faylı yanlış hesabın istifadəyə düşməsinin yoludur. Rejimi 0600-ə qoyun və sahibliyi müştərini işə salan hesaba verin.

Müştəri bu faylı başlanğıcda bir dəfə oxuyur, yəni parolu dəyişmək prosesi yenidən başlatmaq deməkdir. Bu, adətən istədiyiniz davranışdır və fırlatma prosedurunun yanında runbook-a aiddir.

İkinci qoşma: açar ifadəsi üçün askpass

İfadə ilə qorunan şəxsi açar ikinci, fərqli bir tələb yaradır və onun öz fayl əsaslı cavabı var: askpass seçimi ifadəni faylın birinci sətrindən oxuyur. SSH əsaslı tunellər üçün ekvivalent müştərinin icra etdiyi askpass proqramıdır və onun standart çıxışı sirr olur.

Heç bir forma sirri arqument siyahısına qoymur və hər ikisi onu fayl kimi və ya onu çap edən icra olunan fayl kimi saxlayır. Qoruma fayl icazələri və proses sahibliyidir, gizlilik deyil. Kodda bərkidilmiş sətri əks etdirən köməkçi əlavə addımlarla sirrdir.

Üçüncü qoşma: portal müştərisinin öz CLI-si

Korporativ müştərilər adətən pəncərə iştirak etmədən adlanmış portala qoşulan əmr sətri giriş nöqtəsi təqdim edir və dəstəklənən yol budur. Linux-da GlobalProtect müştərisi qoşulma və sertifikat idxalı əməliyyatlarını CLI vasitəsilə təqdim edir və sertifikat doğrulaması istifadə edən portallar avtomatlaşdırılmış qoşulmadan əvvəl idxal addımına ehtiyac duyur. Onu sintez edilmiş düymə basmalarına üstün tutun: real çıxış statusu alırsınız, pəncərə fokusundan asılılıq olmur və kilidli ekranda işləyir.

Əgər ilk qoşulma hələ də sertifikatı qəbul etmək üçün insan tələb edirsə, avtomatlaşdırma bitməyib. İdxalı quraşdırma zamanı edin və ilkin şərt kimi qeyd edin.

Axın psevdo-terminal tələb etdikdə

Parol, sonra birdəfəlik kod tələb edən ardıcıllığın oxunacaq tək faylı yoxdur. Expect kimi terminal drayveri düzgün vasitədir, çünki hər nümunəni növbə ilə gözləyir və heç nəyi uyğunlaşdıra bilməzdən əvvəl prosesin başladılmasına ehtiyac duyur.

İki uğursuzluq üstünlük təşkil edir. Müştərini başlatmadan tələbi gözləyən skript əbədi gözləyir və Tcl shell deyil, ona görə expect blokunun içində yazılmış shell arifmetikası oxunduğu kimi qiymətləndirilmir. Nümunələri qurarkən sazlama bayrağını açıq saxlayın, sonra söndürün.

Sızan sirrlər və onların gizləndiyi yerlər

Arqument kimi ötürülən hər şey proses siyahısında görünür, ona görə etimad məlumatları faylda və ya köməkçinin arxasında olmalıdır, heç vaxt əmr sətrində yox. Birdəfəlik kodlar dizayn olaraq istehlak olunur və hər cəhd üçün istehsal edilməlidir. Uğursuzluq jurnalları çox vaxt istifadəçi adını, bəzən daha çoxunu daşıyır, ona görə hər yerə göndərməzdən əvvəl redaktə edin və sirri profilin özündən kənarda saxlayın, çünki daxil edilmiş parolu olan konfiqurasiya faylı biletlərə və repozitoriyalara yapışdırılır. Hesabı sonra dəyişmək hər nüsxəni axtarmaq deməkdir və bu, məhz bu düzümün qaçındığı xərcdir.

Seçdiyiniz qoşmaları audit edin, sonra onları müştərini həqiqətən işə salacaq unit faylına və ya planlayıcıya qoşun. Tunel dəqiq olaraq həmin proses yaşadığı qədər yaşayır.

Əlaqəli məqalələr