Welche Easy-RSA-Paketstruktur hat dieses Tutorial verwendet?
Ein Tutorial, das vars oder build-key erwartet, beschreibt Easy-RSA 2. Prüfen Sie die installierte Generation und den PKI-Arbeitsbereich, bevor Sie etwas kopieren.
Ein Tutorial fordert Sie auf, vars im Easy-RSA-Verzeichnis zu bearbeiten, und das Verzeichnis auf Ihrem Rechner enthält keine solche Datei. Meist ist das eine Generationsabweichung und kein defektes Paket. Easy-RSA 2 hielt eine vars-Datei neben Shell-Helfern wie build-key bereit; Easy-RSA 3 bietet einen einzigen easyrsa-Befehl und liest die Konfiguration aus einer Vorlage plus Befehlszeilenoptionen. Finden Sie heraus, welche Variante Sie haben, bevor Sie irgendetwas aus der Anleitung kopieren.
Führen Sie diese Prüfungen der Reihe nach aus, denn jede schränkt die nächste ein.
1. Bestandsaufnahme der Installation
Fragen Sie auf einem System aus der Debian-Familie den Paketmanager, welche Dateien er tatsächlich registriert hat:
dpkg-query -L easy-rsaDie Liste für das aktuelle Debian-Paket enthält make-cadir, das Programm easyrsa, eine OpenSSL-Konfigurationsvorlage und vars.example. Das sagt Ihnen, was diese Distribution ausgeliefert hat. Es sagt Ihnen nicht, wie eine andere Distribution oder ein Upstream-Tarball dieselbe Generation angeordnet hat, lesen Sie also die Version, bevor Sie die Pfade deuten. Wenn die Ausgabe überhaupt kein make-cadir zeigt, sehen Sie sich wahrscheinlich eine andere Paketierungsgeneration an und keine defekte Installation.
easyrsa --version ist der kürzeste Weg zu erfahren, über welche Generation Sie lesen, und es lohnt sich, es vor jedem anderen Befehl einer Anleitung auszuführen.
2. Generation 2 von Generation 3 unterscheiden
Generation 2 lieferte Shell-Helfer und eine vars-Datei, die Sie bearbeiten sollten. Generation 3 liefert einen easyrsa-Befehl mit Unterbefehlen und liest die Konfiguration aus einer Vorlage plus ausdrücklichen Optionen.
Dieser Unterschied erklärt die meisten Meldungen „Datei nicht gefunden“ zu diesem Thema. Eine für 2 geschriebene Anleitung sagt Ihnen, Sie sollten vars einbinden und build-key ausführen, und eine Installation von 3 enthält beides nicht. Die fehlende Datei in der Kopie eines anderen Rechners zu suchen, führt dazu, dass Menschen zwei Generationen gegen ein PKI-Verzeichnis laufen lassen.
3. Programmverzeichnis vom PKI-Arbeitsbereich trennen
Das installierte Programmverzeichnis ist konstruktionsbedingt schreibgeschützt. Ihre PKI ist ein separates Verzeichnis mit der CA, den ausgestellten Zertifikaten und den privaten Schlüsseln, und genau dieses trägt die Berechtigungen, die Sie richtig setzen müssen.
Falls bereits eine Authority existiert, suchen Sie deren öffentliches Zertifikat und bestätigen Sie deren Zustand bevor Sie irgendetwas anfassen. Initialisieren Sie keinen Ersatz, und überschreiben Sie nicht den Index, nur weil ein Tutorial einen anderen Pfad verwendet hat. Öffentliche Vorlagen zu kopieren ist harmlos, den privaten Schlüssel eines Ausstellers zu kopieren nicht, und in einer Shell sehen die beiden Vorgänge nahezu gleich aus.
4. Prüfen Sie die Anführungszeichen, bevor Sie einem Pfad nachjagen
Aus einer formatierten Seite kopierter Text kommt oft mit typografischen Anführungszeichen an. Bash wertet nur seine dokumentierten ASCII-Trennzeichen als Anführungszeichen, also wird ein in geschweifte Anführungszeichen gehüllter Pfad zu einem wörtlichen Dateinamen, den es nicht gibt.
printf '%s\n' "$EASY_RSA"Das gibt den Wert einer Variablen aus statt der gesamten Umgebung, was Sie wollen, wenn die Frage lautet, ob der Wert Fremdzeichen oder Leerraum trägt. Gehen Sie nicht davon aus, dass EASY_RSA in Generation 3 noch die Konfiguration auswählt; verwenden Sie stattdessen die dokumentierte PKI-Verzeichnisoption für Ihre Version.
5. Innehalten, bevor Sie irgendetwas neu initialisieren
Wenn Programmgeneration, installierte Pfade und die Rolle des Arbeitsbereichs übereinstimmen, ist ein verbleibender Fehler wahrscheinlich ein Berechtigungs- oder Fehlzustandsproblem, und er verdient eine eigene Diagnose statt einer weiteren Umgehung.
Ein zwischengespeichertes Paket aus einer anderen Version zu installieren, Verzeichnisse rekursiv zu kopieren oder leere Ausstellereinträge anzulegen, verdeckt die ursprüngliche Abweichung und fügt eine zweite hinzu. Notieren Sie Version, Pfad und die genaue Fehlermeldung, bevor Sie etwas ändern. Diese drei machen den nächsten Schritt zu einer Entscheidung statt zu einer weiteren Vermutung, und sie bewahren die nächste Person davor, die Suche zu wiederholen.