Հաղորդագրությունն ասում է, որ մասնավոր բանալու երկարությունը սխալ է, և այդ ձևակերպումը նախ մատնանշում է կոդավորումը, ապա՝ գաղտնագրությունը։ WireGuard-ի բանալիները 32 բայթը կոդավորում են base64-ով, ինչը տալիս է 44 նիշ՝ ներառյալ վերջնական լրացումը, ուստի այլ չափի արժեքը բանալի չէ, որքան էլ պատահական թվա։ Տողը լրացնելը մինչև վերլուծիչի ընդունելը ստեղծում է ճիշտ ձևավորված արժեք, որը ոչ մի գործընկեր երբեք չի ճանաչի։

Այս սխալի հետևում թաքնված են երկու տարբեր աշխատանք՝ վավեր բանալու տեքստի վերականգնում և ինքնության փոխարինում, որն այլևս չունեք։ Դրանց հետևանքները տարբեր են, և դրանցից մեկն անվավեր է դարձնում մյուս ծայրը։

Ինչ է սպասում վերլուծիչը

WireGuard-ի բանալին 32 բայթ բանալիային նյութ է base64-ով՝ ստանդարտ լրացմամբ, ինչը տալիս է 44 նիշից բաղկացած հաստատուն տող։ Գործիքները մերժում են ամեն ինչ, ինչը չի վերծանվում ուղիղ 32 բայթի, որովհետև հիմքում ընկած կորը վերցնում է 32 բայթանոց սկալյար և ուրիշ ոչինչ։ Հանրային և մասնավոր արժեքներն օգտագործում են նույն կոդավորումը, ուստի վերլուծիչը միայն ձևաչափից չի կարող ասել, թե որն եք տեղադրել։ Այդ երկիմաստությունը ստեղծում է այս սխալի շուրջ եղած շփոթության կեսը։

wg genkey | tee private.key | wg pubkey > public.key
base64 -d private.key | wc -c
wc -c private.key
wg show wg0 public-key

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

Ձևաչափի վնաս, թե՞ սխալ նյութ։

Ձևաչափի վնասները կուտակվում են եզրերում՝ shell-ի ավելացրած չակերտներ, private_key-ի նման պիտակ, որը պատճենվել է արժեքի հետ միասին, չաթի հաճախորդի մտցրած տողադարձ, կամ տեղադրումից փրկված վերջնական բացատ։ Այս փոփոխություններից յուրաքանչյուրը փոխում է տողը՝ չփոխելով բայթերը, ուստի դրա հեռացումը վերականգնում է սկզբնական ինքնությունը։ Համեմատեք ֆայլը մատակարարման գրառման հետ նիշ առ նիշ՝ փոխարենը կետադրությունը հեռացնելու, մինչև վերլուծիչը լռի։

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

Հանրային բանալին մասնավոր դաշտում

Ամենատարածված շփոթությունը հանրային արժեքի տեղադրումն է մասնավոր դաշտում, կամ հակառակը։ Երկուսն էլ վավեր 32 բայթանոց base64 են, ուստի երկարության ստուգումը անցնում է, և ձեռքսեղմումը հետագայում ձախողվում է առանց օգտակար հաղորդագրության։ Մասնավոր բանալին այն սկալյարն է, որը ստեղծում է հանրայինը, ուստի կարող եք լուծել՝ ստանալով հանրային արժեքը և համեմատելով այն գործընկերոջ թույլատրածի հետ։ Երբ ստացված արժեքը չի համապատասխանում գրառմանը, դուք ունեք սխալ ինքնություն, ոչ թե տպագրական սխալ։

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

Վերականգնեք պրոֆիլը, ապա ապացուցեք ձեռքսեղմումը

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

wg genkey | tee new.key | wg pubkey > new.pub
base64 -d private.key | wc -c
ip route get 10.60.9.5
wg show wg0 latest-handshakes

Չափի ստուգումը պատասխանում է՝ նյութը բանալու ձև ունի՞, իսկ երթուղու հարցումը՝ փաթեթը երբևէ կհասնի՞ ինտերֆեյսին։ Ձեռքսեղմման տողը, որը դատարկ է մնում երկու ստուգումներից հետո, ախտորոշումը տեղափոխում է գործընկերոջ վերջնակետ և թույլատրված հասցեներ։ Կարդացեք ինտերֆեյսի հանրային բանալին մատակարարման գրառման դեմ վերջին անգամ, որովհետև հնացած պահպանված պրոֆիլը կարող է ճիշտ թվալ, մինչ ակտիվը տարբերվում է]։

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

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