Vilken Easy-RSA-paketstruktur använde den handledningen?
En handledning som förväntar sig vars eller build-key beskriver Easy-RSA 2. Kontrollera den installerade generationen och PKI-arbetsytan innan du kopierar något.
En handledning säger att du ska redigera vars i Easy-RSA-katalogen, och katalogen på din maskin har ingen sådan fil. Oftast är det en generationsskillnad och inte ett trasigt paket. Easy-RSA 2 hade en vars-fil bredvid shell-hjälpare som build-key; Easy-RSA 3 erbjuder ett enda easyrsa-kommando och läser konfiguration från en mall plus kommandoradsalternativ. Ta reda på vilken du har innan du kopierar något från guiden.
Kör dessa kontroller i ordning, eftersom var och en begränsar nästa.
1. Inventera vad som är installerat
På ett system av Debian-familjen, fråga pakethanteraren vilka filer den faktiskt registrerade:
dpkg-query -L easy-rsaListan för det aktuella Debian-paketet innehåller make-cadir, programmet easyrsa, en OpenSSL-konfigurationsmall och vars.example. Det berättar vad den här distributionen levererade. Det berättar inte hur en annan distribution eller ett upstream-tar-arkiv lade upp samma generation, så läs versionen innan du tolkar sökvägarna. Om utdata inte visar någon make-cadir alls tittar du förmodligen på en annan paketeringsgeneration och inte på en trasig installation.
easyrsa --version är det kortaste sättet att veta vilken generation du läser om, och det är värt att köra innan något annat kommando i en guide.
2. Skilj generation 2 från generation 3
Generation 2 levererade shell-hjälpare och en vars-fil som du förväntades redigera. Generation 3 levererar ett enda easyrsa-kommando med underkommandon, och den läser konfiguration från en mall plus uttryckliga alternativ.
Den skillnaden förklarar de flesta rapporter om att filen inte hittades i detta ämne. En guide skriven för 2 säger att du ska köra source vars och build-key, och en installation av 3 innehåller inget av dem. Att jaga den saknade filen från en annan maskins kopia är hur folk till slut kör två generationer mot en enda PKI-katalog.
3. Separera programkatalogen från PKI-arbetsytan
Den installerade programkatalogen är skrivskyddad av design. Din PKI är en separat katalog som håller CA:n, de utfärdade certifikaten och de privata nycklarna, och det är den som bär de behörigheter du måste få rätt.
Om det redan finns en myndighet, hitta dess offentliga certifikat och bekräfta dess tillstånd innan du rör något. Initiera ingen ersättning, och skriv inte över indexet bara för att en handledning använde en annan sökväg. Att kopiera offentliga mallar är ofarligt, medan att kopiera en utfärdares privata nyckel inte är det, och i ett skal ser de två operationerna nästan identiska ut.
4. Kontrollera citattecknen innan du jagar en sökväg
Text kopierad från en formaterad sida kommer ofta med typografiska citattecken. Bash behandlar bara sina dokumenterade ASCII-avgränsare som citattecken, så en sökväg inlindad i krulliga citattecken blir ett bokstavligt filnamn som inte finns.
printf '%s\n' "$EASY_RSA"Det skriver ut värdet av en variabel i stället för hela miljön, vilket är vad du vill när frågan är om värdet bär främmande tecken eller blanksteg. Anta inte att EASY_RSA fortfarande väljer konfiguration i generation 3; använd i stället det dokumenterade PKI-katalogvalet för din version.
5. Stanna innan du initierar något på nytt
När programgenerationen, de installerade sökvägarna och arbetsytans roll stämmer överens är det återstående felet troligen ett behörighets- eller saknat tillståndsproblem, och det förtjänar en egen diagnos i stället för ännu en omväg.
Att installera ett cachelagrat paket från en annan utgåva, kopiera kataloger rekursivt eller skapa tomma utfärdarposter döljer den ursprungliga avvikelsen och lägger till en andra. Skriv ned versionen, sökvägen och det exakta felet innan du ändrar något. De tre är det som gör nästa steg till ett beslut i stället för ännu en gissning, och de hindrar nästa person från att upprepa sökningen.