Twee opdragte genereer 'n WireGuard-sleutelpaar en albei kom saam met die standaardgereedskap, so niks aan hierdie taak het 'n webwerf nodig wat aanbied om 'n sleutel vir jou te maak nie. Wat verkeerd loop, is nooit die kromme-rekenkunde nie; dit is die toestemmingsbisse, die plek waar die lêer beland, en wat daarna na die ander kant gestuur word. Die reeks hieronder begin in 'n leë gids en eindig by 'n eweknie wat verkeer dra. Lees dit een keer deur voordat jy dit uitvoer, want die eerste reël maak net saak as die volgende een in dieselfde shell loop.

Genereer die paar in een shell

Die gedokumenteerde werkvloei beperk lêerskepping voordat die private waarde bestaan, en lei dan die publieke waarde daaruit af. Al drie reëls hoort saam in een enkele shell-sessie:

umask 077  # applies to files created next, so keep the next line in this shell
wg genkey | tee privatekey | wg pubkey > publickey
wg pubkey < privatekey  # re-derive and compare with publickey

wg genkey skryf 'n private Curve25519-sleutel van 32 grepe in base64; wg pubkey lees dit en lei die ooreenstemmende publieke sleutel af, en tee bewaar die private waarde terwyl dit dit deur die pyp stuur. Daardie volgorde is hoekom die toestemmingsreël eerste kom, en hoekom dit die pyplyn stilweg verloor as jy dit in 'n tweede terminaal plak. Die lêername is illustratief, en wat saak maak, is dat albei lêers êrens beland waar die toestel wat dit besit, beheer het. As 'n private lêer reeds met verstektoestemmings bestaan, maak chmod 600 privatekey die huidige lêer reg en doen niks aan afskrifte wat vroeër gemaak is nie.

Hou die private helfte op een toestel

Die private waarde hoort op die masjien wat die identiteit sal besit, in 'n gids wat daardie masjien beskerm en wat sy rugsteun as 'n geloofsbrief hanteer. Dit hoort nie in 'n gedeelde vouer, in 'n boodskap aan jouself, of in 'n snippie wat aan 'n ondersteuningskaartjie geheg is nie, en 'n ingebedde afskrif maak die konfigurasielêer net so sensitief soos die sleutel. 'n Sleutel wat op drie plekke gewoon het, kan later nie beredeneer word nie, en dit is die praktiese rede om dit op een plek te hou.

Om 'n afgelope lêer doelbewus te vernietig is deel van dieselfde gewoonte. Om dit in 'n aflaaivouer te laat lê tot iemand dit raaksien, is nie.

Wat die eweknie-operateur van jou nodig het

Die ander kant het die publieke waarde en die adresreëling wat sy operateur gekies het nodig, niks anders nie. Stuur daardie publieke string deur watter kanaal die operateur ook al verwag, en bevestig dan aan watter eweknie-inskrywing dit geheg is voordat iemand dit toets, want 'n korrekte sleutel in die verkeerde strofe misluk op 'n manier wat soos 'n sleutelprobleem lyk. Stuur dit as 'n enkele ononderbroke reël, want 'n sleutel wat oor twee reëls gebreek is, plak sonder klagte terug in 'n konfigurasielêer en pas dan nooit nie.

Om 'n sleutel te genereer magtig niks op sigself nie. Die eweknie moet gekonfigureer word om dit te aanvaar, en die konfigurasiestap behoort aan wie ook al daardie kant bestuur.

Toets die paar met 'n werklike uitruiling

'n Sleutelpaar identifiseer een kant van 'n tonnel; dit skep geen roete, geen oplosser-inskrywing, geen aanstuuringsreël en geen firewall-toelating nie. Nadat die eweknie ingerig is, toets die uitruiling eerder as die lêer: 'n handdruk wat in wg show verskyn, 'n adres wat binne die tonnel antwoord, en een toepassingversoek wat van die roete afhang. Daardie drietal skei 'n sleutel wat verkeerd is van 'n sleutel wat reg is en 'n pad wat ontbreek.

Hou een identiteit per toestel wanneer die ontplooiing dit toelaat, sodat 'n verlore eenheid op sy eie herroep kan word in plaas daarvan om almal te dwing om weer te sleutel. Daardie besluit is ook wat die vervangingsprosedure hieronder veilig maak om te loop.

Vervang 'n sleutel sonder 'n gaping

Genereer die vervanging op die toestel, voeg die nuwe publieke sleutel as 'n bykomende eweknie by, bevestig dat dit verkeer dra, en verwyder eers dan die ou een. Om dit in daardie volgorde te doen, beteken die tonnel het nooit 'n oomblik met geen geldige identiteit nie, en die terugrol is bloot die skrap van die inskrywing wat jy pas bygevoeg het.

Hou die vervange private lêer totdat die nuwe eweknie bevestig is, en vernietig dit dan doelbewus. Die WireGuard-vinnige begin is die verwysing vir die opdragte self, en dit is kort genoeg om volledig te lees voordat jy begin.

Verwante artikels