Որտե՞ղ պետք է Linux-ը պահի ձեր VPN գաղտնաբառը։ Ոչ պրոֆիլում
NetworkManager-ի գաղտնիքի դրոշակները որոշում են՝ արդյոք պրոֆիլը, բանալիների օղակի գործակալը, թե ոչ ոք է պահում գաղտնաբառը։ Պատասխանը կախված է նրանից, թե երբ է սկսվում միացումը։
VPN գաղտնաբառը պետք է ինչ-որ տեղ ապրի՝ միացման պրոֆիլում, աշխատասեղանի բացած բանալիների օղակում, կամ ոչ մի տեղ։ NetworkManager-ը այդ ընտրությունը կոչում է գաղտնիքի դրոշակ, և սխալը ընտրելն է պատճառը, որ միացումը աշխատում է մուտքից հետո և ձախողվում որպես ծառայություն։ Դրոշակը կոնֆիգուրացիայի մեկ տող է, և այն որոշում է, թե այդ երեք արդյունքներից որն եք ստանում։
Երեք դրոշակ ծածկում են գրեթե բոլոր դեպքերը, և որոշումը վերաբերում է նրան, թե երբ է սկսվում միացումը։
Երեք գաղտնիքի դրոշակ, երեք վարքագիծ
0 դրոշակը նշանակում է, որ գաղտնիքը պահվում է միացման հետ՝ ցանկացած պահոցում, որտեղ գտնվում է պրոֆիլը։ 1 դրոշակը դարձնում է այն գործակալին պատկանող՝ գաղտնիքը գալիս է գաղտնիքի գործակալից, օրինակ՝ աշխատասեղանի բանալիների օղակից, և NetworkManager-ը պահանջում է այն ակտիվացման պահին։ 2 դրոշակը նշանակում է չպահված, այնպես որ գաղտնիքը երբեք չի գրվում և պետք է տրվի ամեն անգամ։ 4 դրոշակը գաղտնիքը նշում է որպես չպահանջվող՝ այն միացումների համար, որոնք իսկապես ոչ մեկի կարիքը չունեն։
| Flag | Where it lives | Works unattended |
|---|---|---|
| 0 saved | Connection profile | Yes, if the store is readable |
| 1 agent-owned | Secret agent or keyring | Only if that agent is available |
| 2 not-saved | Nowhere | No |
Դրոշակները սահմանեք ըստ գաղտնիքի, ոչ ըստ միացման։ Մեկ միացումը կարող է ունենալ գործակալին պատկանող գաղտնաբառ և պահված մասնավոր բանալու անցաբառ։
Որոշեք ըստ այն բանի, թե երբ է սկսվում միացումը
Եթե միացումը սկսում է մուտք գործած օգտատերը, գործակալին պատկանելը ողջամիտ կանխադրված է՝ բանալիների օղակը բացվում է մուտքի ժամանակ, և գաղտնիքը երբեք ֆայլում չի նստում։ Եթե միացումը պետք է բարձրանա նախքան որևէ մեկի մուտքը, գործակալին պատկանելը սխալ ընտրություն է, որովհետև բացելու համար սեսիայի բանալիների օղակ չկա։
Այդ է ամբողջ որոշումը։ Մնացած ամեն ինչ դրա տարբերակն է։
Մուտքից առաջ աշխատող ծառայության համար աջակցվող ձևը համակարգային մակարդակի պահոցն է կամ պաշտպանված բանալու ֆայլը, և պաշտպանությունը դառնում են ֆայլի թույլտվությունները։ Մի՛ լուծեք խնդիրը՝ գաղտնաբառը կպցնելով գործարկման պահին աշխատող shell սկրիպտի մեջ։
Ինչ է տալիս բանալիների օղակը և ինչ՝ ոչ
Բանալիների օղակը գաղտնիքը պահում է միացման պրոֆիլից դուրս և կապում է օգտատիրոջ սեսիային։ Այն գաղտնիքը հասանելի չի դարձնում առանց սեսիայի ծառայությանը, և ոչինչ չի գաղտնագրում ցանցում։ Դրանք առանձին հատկություններ են, որոնք մարդիկ հաճախ միաձուլում են։ Ինչ որ այն իրապես գնում է՝ ավելի փոքր վնասի շառավիղ է, երբ պրոֆիլի ֆայլը արտահոսում է։
Պրոֆիլի հղած մասնավոր բանալին իր թույլտվությունների կարիքն ունի՝ անկախ նրանից, թե որտեղ է ապրում գաղտնաբառը։
Ախտորոշում առանց գաղտնիքներ թափելու
Միացումների անունները, UUID-ները և դրոշակները սովորաբար բավական են ձախողումը բացատրելու համար։ nmcli connection show թվարկում է պրոֆիլը, և գաղտնիքի դրոշակները ձեզ ասում են, թե որտեղից պետք է գար գաղտնաբառը։
Խուսափեք --show-secrets տոմսերում և զրույցներում։ Երբ այն մեկ անգամ կպցվում է, այն հավատարմագր է սղագրության մեջ։
Պահումը չեղարկում չէ
Գաղտնիքը մեկ բանալիների օղակից հեռացնելը չի անվավերացնում այն հավատարմագիրը, որ հեռավոր օպերատորն արդեն ընդունել է։ Հաշվի չեղարկումը սերվերի կողմի գործողություն է, և տեղական պահումը առանձին հարց է՝ առանձին սեփականատիրոջով։
Որոշեք երկուսն էլ միջադեպից առաջ, ոչ դրա ընթացքում։ Ինտերակտիվ օգտատիրոջ միացումը և մուտքից առաջ ծառայությունը տարբեր պատասխաններ են պահանջում, և ընդհանուր shell սկրիպտը ոչ մեկն էլ չէ։ NetworkManager-ի գաղտնիքի դրոշակների փաստաթղթերը թվարկում են արժեքները ամբողջությամբ։