WireGuard ప్రైవేట్ కీ పొడవు తప్పు అని చెబుతోంది: ఇప్పుడు ఏమి చేయాలి?
base64 లో 32 బైట్ల కీ 44 అక్షరాలు. ఏదైనా మళ్లీ సృష్టించే ముందు మీ వచనం దెబ్బతిన్నదా లేదా గుర్తింపు తప్పా అని నిర్ణయించుకోండి.
సందేశం ప్రైవేట్ కీకి తప్పు పొడవు ఉందని చెబుతోంది, ఆ పదాలు మొదట ఎన్కోడింగ్ వైపు, తర్వాత క్రిప్టోగ్రఫీ వైపు సూచిస్తాయి. 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 బైట్లకు డీకోడ్ అయితే పొడవు సరిగ్గా ఉంది, ఫిర్యాదు ఫైల్లో మరో చోటి నుండి వస్తుంది. అది చిన్నదానికి డీకోడ్ అయితే మీ వద్ద కత్తిరించిన పదార్థం ఉంది, ఫార్మాట్ సమస్య కాదు.
ఫార్మాట్ నష్టమా లేదా తప్పు పదార్థమా?
ఫార్మాట్ నష్టాలు అంచులలో పోగవుతాయి: 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
పరిమాణ తనిఖీ పదార్థానికి కీ ఆకారం ఉందా అని సమాధానమిస్తుంది, మార్గ ప్రశ్న ప్యాకెట్ ఎప్పుడైనా ఇంటర్ఫేస్ను చేరుతుందా అని సమాధానమిస్తుంది. రెండు తనిఖీలు దాటిన తర్వాత కూడా ఖాళీగా ఉండే హ్యాండ్షేక్ లైన్ నిర్ధారణను పీర్ ముగింపు బిందువు మరియు అనుమతించిన చిరునామాల వైపు మారుస్తుంది. ఇంటర్ఫేస్ పబ్లిక్ కీని ప్రొవిజనింగ్ రికార్డుతో చివరిసారి చదవండి, ఎందుకంటే సేవ్ చేసిన పాత ప్రొఫైల్ సరిగ్గా కనిపించవచ్చు, కానీ సక్రియమైనది భిన్నంగా ఉండవచ్చు].
మీరు ఏ విలువను మార్చారు మరియు అధికృత నకలు ఎక్కడ ఉంది అని నమోదు చేయండి. తదుపరిసారి ఈ పీర్ను తాకే వ్యక్తి ఏ చివర మారిందో తెలుసుకోవాలి.