Ձեռնարկը ձեզ ասում է խմբագրել vars-ը Easy-RSA պանակում, իսկ ձեր մեքենայի պանակում այդպիսի ֆայլ չկա։ Սովորաբար դա սերունդների անհամապատասխանություն է, ոչ թե կոտրված փաթեթ։ Easy-RSA 2-ը vars ֆայլ էր պահում build-key-ի նման shell-օգնականների կողքին, իսկ Easy-RSA 3-ը տրամադրում է մեկ easyrsa հրաման և կոնֆիգուրացիան կարդում է ձևանմուշից՝ գումարած հրամանի տողի ընտրանքները։ Պարզեք, թե որն ունեք, նախքան ուղեցույցից որևէ բան պատճենելը։

Կատարեք այս ստուգումները հերթականությամբ, քանի որ յուրաքանչյուրը նեղացնում է հաջորդը։

1. Թվարկեք, թե ինչ է տեղադրված

Debian ընտանիքի համակարգում հարցրեք փաթեթների կառավարչին, թե որ ֆայլերն է այն իրականում գրանցել:

dpkg-query -L easy-rsa

Ընթացիկ Debian փաթեթի ցանկը ներառում է make-cadir-ը, easyrsa ծրագիրը, OpenSSL-ի կոնֆիգուրացիայի ձևանմուշ և vars.example-ը։ Դա ձեզ ասում է, թե ինչ է մատակարարել այս բաշխումը։ Այն չի ասում, թե ինչպես է մեկ այլ բաշխում կամ upstream tar արխիվը դասավորել նույն սերունդը, ուստի կարդացեք տարբերակը, նախքան ուղիները մեկնաբանելը։ Եթե ելքը բոլորովին չի ցույց տալիս make-cadir, հավանաբար դուք տեսնում եք փաթեթավորման այլ սերունդ, այլ ոչ թե կոտրված տեղադրում։

easyrsa --version-ը ամենակարճ ճանապարհն է իմանալու, թե որ սերնդի մասին եք կարդում, և արժե այն գործարկել ուղեցույցի ցանկացած այլ հրամանից առաջ։

2. Տարբերեք 2-րդ սերունդը 3-րդ սերնդից

2-րդ սերունդը մատակարարում էր shell-օգնականներ և vars ֆայլ, որը դուք պետք է խմբագրեիք։ 3-րդ սերունդը մատակարարում է մեկ easyrsa հրաման ենթահրամաններով, և այն կոնֆիգուրացիան կարդում է ձևանմուշից՝ գումարած հստակ ընտրանքները։

Այդ տարբերությունը բացատրում է այս թեմայում «ֆայլը չի գտնվել» հաղորդումների մեծ մասը։ 2-ի համար գրված ուղեցույցը ձեզ ասում է կատարել source vars և գործարկել build-key, իսկ 3-ի տեղադրումը չի պարունակում դրանցից ոչ մեկը։ Բացակայող ֆայլը այլ մեքենայի պատճենից փնտրելը հենց այն է, ինչի պատճառով մարդիկ սկսում են մեկ PKI պանակի վրա երկու սերունդ աշխատեցնել։

3. Առանձնացրեք ծրագրի պանակը PKI աշխատանքային տարածքից

Տեղադրված ծրագրի պանակը նախագծման առումով միայն կարդալու է։ Ձեր PKI-ն առանձին պանակ է, որը պարունակում է CA-ն, թողարկված վկայագրերը և մասնավոր բանալիները, և հենց այն է կրում է այն թույլտվությունները, որոնք պետք է ճիշտ սահմանեք։

Եթե իշխող մարմին արդեն գոյություն ունի, գտեք նրա հանրային վկայագիրը և հաստատեք նրա վիճակը նախքան որևէ բանի դիպչելը։ Մի՛ նախաձեռնեք փոխարինող և մի՛ վերագրեք ինդեքսը, քանի որ ձեռնարկը այլ ուղի է օգտագործել։ Հանրային ձևանմուշների պատճենումն անվտանգ է, մինչդեռ թողարկողի մասնավոր բանալու պատճենումը՝ ոչ, և shell-ում երկու գործողությունները գրեթե նույնն են թվում։

4. Ստուգեք չակերտները, նախքան ուղու հետևից ընկնելը

Ձևաչափված էջից պատճենված տեքստը հաճախ գալիս է տպագրական չակերտներով։ Bash-ը որպես չակերտ ընդունում է միայն իր փաստաթղթավորված ASCII բաժանիչները, ուստի գանգուր չակերտների մեջ փաթաթված ուղին դառնում է բառացի ֆայլի անուն, որը գոյություն չունի։

printf '%s\n' "$EASY_RSA"

Դա տպում է մեկ փոփոխականի արժեքը, այլ ոչ ամբողջ միջավայրը, ինչը հենց այն է, ինչ ցանկանում եք, երբ հարցն այն է, թե արդյոք արժեքը կրում է օտար նշաններ կամ բացատներ։ Մի՛ ենթադրեք, որ EASY_RSA-ն 3-րդ սերնդում դեռ ընտրում է կոնֆիգուրացիան, փոխարենը օգտագործեք փաստաթղթավորված PKI պանակի ընտրանքը ձեր տարբերակի համար։

5. Կանգնեք, նախքան որևէ բան վերաձևավորելը

Երբ ծրագրի սերունդը, տեղադրված ուղիները և աշխատանքային տարածքի դերը համընկնում են, մնացած սխալը հավանաբար թույլտվության կամ բացակայող վիճակի խնդիր է, և այն արժանի է իր սեփական ախտորոշմանը, այլ ոչ թե ևս մեկ շրջանցման։

Այլ թողարկումից քեշավորված փաթեթ տեղադրելը, պանակները ռեկուրսիվ պատճենելը կամ դատարկ թողարկող գրառումներ ստեղծելը թաքցնում է սկզբնական անհամապատասխանությունը և ավելացնում երկրորդը։ Գրի՛ առեք տարբերակը, ուղին և ճշգրիտ սխալը, նախքան որևէ բան փոխելը։ Այդ երեքն են, որ հաջորդ քայլը դարձնում են որոշում, այլ ոչ թե ևս մեկ ենթադրություն, և դրանք հետ են պահում հաջորդ մարդուն որոնումը կրկնելուց։

Առնչվող հոդվածներ