Хабарлама жеке кілттің ұзындығы қате екенін айтады, және бұл тұжырым алдымен кодтауға, содан кейін ғана криптографияға нұсқайды. WireGuard кілттері 32 байтты base64-ке кодтайды, бұл соңғы толтыруды қоса алғанда 44 таңба береді, сондықтан басқа өлшемдегі мән қаншалықты кездейсоқ көрінсе де кілт емес. Жолды талдағыш қабылдағанша толықтыру дұрыс қалыптасқан мән жасайды, оны ешбір әріптес ешқашан танымайды.

Бұл қатенің артында екі түрлі жұмыс жатыр: жарамды кілттің мәтінін түзету және сізде жоқ сәйкестікті ауыстыру. Олардың салдары бөлек, және біреуі екінші ұшты жарамсыз етеді.

Талдағыш не күтеді

WireGuard кілті — base64-тегі стандартты толтырумен 32 байт кілт материалы, бұл 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 тәрізді белгі, чат клиенті енгізген жол үзілісі немесе қоюдан аман қалған соңғы бос орын. Осылардың әрқайсысы байттарды өзгертпей жолды өзгертеді, сондықтан оны алып тастау бастапқы сәйкестікті қалпына келтіреді. Талдағыш үнсіз қалғанша тыныс белгілерін алып тастаудың орнына файлды жабдықтау жазбасымен таңба-таңба салыстырыңыз.

Қате материал — басқа жағдай. Құпиясөз, сертификат кілті немесе ашық мән сенімді көрініп, қате өлшемге декодталуы мүмкін. Ешбір тазалау олардың ешқайсын әріптес күтетін скалярға айналдырмайды. Бұл жағдай өңдеуді емес, жаңа сәйкестікті қажет етеді.

Жеке өрістегі ашық кілт

Ең жиі шатасу — ашық мәнді жеке өріске қою немесе керісінше. Екеуі де 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

Өлшем тексерісі материалдың кілт пішінінде екенін, ал маршрут сұрауы пакеттің интерфейске жететінін жауаптайды. Екі тексеруден кейін де бос қалған қол алысу жолы диагностиканы әріптестің соңғы нүктесі мен рұқсат етілген мекенжайларға жылжытады. Интерфейстің ашық кілтін жабдықтау жазбасымен соңғы рет салыстырып оқыңыз, өйткені ескірген сақталған профиль дұрыс көрінуі мүмкін, ал белсендісі өзгеше болуы мүмкін].

Қай мәнді ауыстырғаныңызды және рұқсат етілген көшірменің қайда екенін жазып қойыңыз. Бұл әріптесті келесі рет ұстаған адам қай ұш өзгергенін білуі керек.

Қатысты мақалалар