შეტყობინება ამბობს, რომ პირად გასაღებს არასწორი სიგრძე აქვს, და ეს ფორმულირება ჯერ კოდირებაზე მიუთითებს და მხოლოდ შემდეგ კრიპტოგრაფიაზე. 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 ბაიტად დეკოდირდება, სიგრძე რიგზეა და საჩივარი ფაილის სხვა ადგილიდან მოდის. თუ უფრო მოკლედ დეკოდირდება, თქვენ გაქვთ მოჭრილი მასალა და არა ფორმატის პრობლემა.

ფორმატის დაზიანება თუ არასწორი მასალა?

ფორმატის დაზიანებები კიდეებზე გროვდება: ჭურვის მიერ დამატებული ბრჭყალები, private_key-ის მსგავსი იარლიყი, რომელიც მნიშვნელობასთან ერთად დაკოპირდა, ჩატის კლიენტის მიერ ჩასმული ხაზის წყვეტა, ან ჩასმას გადარჩენილი ბოლო space. თითოეული მათგანი ცვლის სტრიქონს ბაიტების შეცვლის გარეშე, ამიტომ მისი მოცილება აღადგენს თავდაპირველ იდენტობას. შეადარეთ ფაილი მომარაგების ჩანაწერს სიმბოლო სიმბოლოდ, ნაცვლად იმისა, რომ სასვენი ნიშნები მოაცილოთ მანამ, სანამ გამრიგი გაჩუმდება.

არასწორი მასალა სხვა სიტუაციაა. პაროლი, სერტიფიკატის გასაღები ან საჯარო მნიშვნელობა შეიძლება დამაჯერებლად გამოიყურებოდეს და არასწორ ზომად დეკოდირდეს. არც ერთი გაწმენდა არ აქცევს მათგან რომელიმეს იმ სკალარად, რომელსაც თანამოსაუბრე ელის. ეს შემთხვევა ახალ იდენტობას მოითხოვს და არა რედაქტირებას.

საჯარო გასაღები პირად ველში

ყველაზე გავრცელებული დაბნეულობაა საჯარო მნიშვნელობის პირად ველში ჩასმა, ან პირიქით. ორივე 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

ზომის შემოწმება პასუხობს, აქვს თუ არა მასალას გასაღების ფორმა, ხოლო მარშრუტის მოთხოვნა პასუხობს, მიაღწევს თუ არა პაკეტი ინტერფეისამდე. ხელის ჩამორთმევის ხაზი, რომელიც ორივე შემოწმების შემდეგ ცარიელი რჩება, დიაგნოზს გადააქვს თანამოსაუბრის ბოლო წერტილსა და ნებადართულ მისამართებზე. წაიკითხეთ ინტერფეისის საჯარო გასაღები მომარაგების ჩანაწერის წინააღმდეგ ბოლო დროს, რადგან მოძველებული შენახული პროფილი შეიძლება სწორად გამოიყურებოდეს, სანამ აქტიური განსხვავდება].

ჩაწერეთ, რომელი მნიშვნელობა შეცვალეთ და სად არის ნებადართული ასლი. ვინც შემდეგ ამ თანამოსაუბრეს შეეხება, უნდა იცოდეს რომელი ბოლო შეიცვალა.

დაკავშირებული სტატიები