To kommandoer genererer et WireGuard-nøkkelpar, og begge følger med standardverktøyene, så denne oppgaven trenger ikke et nettsted som tilbyr å lage en nøkkel for deg. Det som går galt, er aldri kurvearitmetikken; det er tillatelsesbitene, stedet filen lander, og det som deretter sendes til den andre enden. Sekvensen nedenfor begynner i en tom mappe og ender hos en motpart som bærer trafikk. Les den én gang før du kjører den, fordi den første linjen bare betyr noe hvis den neste kjører i samme skall.

Generere paret i ett skall

Den dokumenterte arbeidsflyten begrenser filoppretting før den private verdien finnes, og utleder deretter den offentlige verdien fra den. Alle tre linjene hører sammen i én skalløkt:

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 skriver en 32-byte privat Curve25519-nøkkel i base64; wg pubkey leser den og utleder den samsvarende offentlige nøkkelen, og tee lagrer den private verdien mens den sender den videre gjennom røret. Den rekkefølgen er grunnen til at tillatelseslinjen kommer først, og til at innliming av rørledningen i en annen terminal stille mister den. Filnavnene er illustrative, og det avgjørende er at begge filene lander et sted den eiede enheten kontrollerer. Hvis en privat fil allerede finnes med standardtillatelser, retter chmod 600 privatekey den gjeldende filen og gjør ingenting med kopier som ble laget tidligere.

Hold den private halvdelen på én enhet

Den private verdien hører på maskinen som skal eie identiteten, i en mappe som maskinen beskytter og som sikkerhetskopiene dens behandler som en legitimasjon. Den hører ikke i en delt mappe, i en melding til deg selv eller i et utdrag som er vedlagt en støttesak, og en innebygd kopi gjør konfigurasjonsfilen nøyaktig like følsom som nøkkelen. En nøkkel som har bodd tre steder kan ikke gjennomtenkes senere, og det er den praktiske grunnen til å holde den på ett.

Å ødelegge en pensjonert fil med vilje er en del av den samme vanen. Å la den ligge i en nedlastingsmappe til noen oppdager det, er det ikke.

Hva motpartens operatør trenger fra deg

Den andre siden trenger den offentlige verdien og adresseoppsettet operatøren har valgt, ikke noe annet. Send den offentlige strengen gjennom kanalen operatøren forventer, og bekreft deretter hvilken motpartsoppføring den ble knyttet til før noen tester den, fordi en riktig nøkkel i feil seksjon feiler på en måte som ser ut som et nøkkelproblem. Send den som én ubrutt linje, fordi en nøkkel brutt over to linjer limes inn i en konfigurasjonsfil uten klage og deretter aldri passer.

Å generere en nøkkel autoriserer ingenting i seg selv. Motparten må konfigureres til å godta den, og konfigurasjonstrinnet tilhører den som driver den enden.

Test paret med en ekte utveksling

Et nøkkelpar identifiserer den ene enden av en tunnel; det oppretter ingen rute, ingen oppføring i resolveren, ingen videresendingsregel og ingen brannmur-tillatelse. Når motparten er klargjort, test utvekslingen i stedet for filen: et håndtrykk som vises i wg show, en adresse som svarer inne i tunnelen, og én applikasjonsforespørsel som avhenger av ruten. Den trioen skiller en nøkkel som er feil fra en nøkkel som er riktig og en sti som mangler.

Hold én identitet per enhet når utrullingen tillater det, slik at en tapt enhet kan tilbakekalles alene i stedet for å tvinge alle til å generere nøkler på nytt. Den beslutningen er også det som gjør utskiftsprosedyren nedenfor trygg å kjøre.

Bytte ut en nøkkel uten hull

Generer erstatningen på enheten, legg til den nye offentlige nøkkelen som en ekstra motpart, bekreft at den bærer trafikk, og fjern først da den gamle. Å gjøre det i den rekkefølgen betyr at tunnelen aldri har et øyeblikk uten gyldig identitet, og tilbakerullingen er rett og slett å slette oppføringen du nettopp la til.

Behold den erstattede private filen til den nye motparten er bekreftet, og ødelegg den deretter med vilje. WireGuard-hurtigstarten er referansen for selve kommandoene, og den er kort nok til å leses i sin helhet før du begynner.

Relaterte artikler