Η εντολή σταματά με ένα ca.crt που λείπει ή ένα index.txt που λείπει, ενώ η CA εκδίδει πιστοποιητικά εδώ και μήνες. Τίποτα δεν άλλαξε στην αρχή έκδοσης· η εντολή απλώς κοίταξε αλλού. Το Easy-RSA 3 προσδιορίζει έναν κατάλογο PKI από μια επιλογή, μια μεταβλητή περιβάλλοντος, ένα αρχείο vars και μια ενσωματωμένη προεπιλογή, και οποιοδήποτε από αυτά μπορεί να δείχνει μακριά από την αρχή έκδοσης της εγκατάστασης. Ελέγξτε ποιο κέρδισε πριν δημιουργήσετε οτιδήποτε.

Το σφάλμα ονομάζει αρχείο, όχι κατάλογο

Ο κατάλογος εγκατάστασης και ο κατάλογος του εκδότη είναι δύο διαφορετικά μέρη. Το να βρείτε easyrsa στο μηχάνημα αποδεικνύει μόνο ότι το εργαλείο είναι εγκατεστημένο, όχι ότι βρήκε την αρχή έκδοσης στην οποία βασίζεται το VPN σας.

Γι' αυτό η επανεγκατάσταση του πακέτου ή η επανεκτέλεση του βήματος init φαίνεται παραγωγική και δεν αλλάζει τίποτα.

Ελέγξτε τον επιλογέα πριν από οτιδήποτε άλλο

Στο Easy-RSA 3 ο επιλογέας είναι EASYRSA_PKI ή η αντίστοιχη επιλογή --pki-dir. Δώστε μια απόλυτη διαδρομή όπως --pki-dir=/srv/pki/office, και η απάντηση παύει να εξαρτάται από το πού τυχαίνει να στεκόσασταν. Αυτή η μία συνήθεια αφαιρεί μια ολόκληρη κατηγορία αυτού του σφάλματος, ειδικά για σενάρια που εκτελούνται από το cron ή από ένα checkout CI.

Επιβεβαιώστε πρώτα τη γενιά, γιατί η συνήθεια του Easy-RSA 2 με ένα αρχείο vars συν build-key είναι διαφορετικό μοντέλο από αυτό που περιμένει το Easy-RSA 3. easyrsa --version εκτυπώνει τη γενιά πριν κάνει οτιδήποτε άλλο, και ./easyrsa --help απαριθμεί τις υποεντολές: ένας στόχος build-key σημαίνει 2.x, ενώ build-client-full σημαίνει 3.x. Η μεταφορά μιας παλιάς διαδρομής KEY_DIR σε κλήση 3.x επειδή το όνομα του καταλόγου φαίνεται γνωστό παράγει ακριβώς αυτό το σφάλμα.

Αν το αλφαριθμητικό έκδοσης και η σύνταξη της εντολής διαφωνούν, σταματήστε και διαβάστε την τεκμηρίωση της εγκατεστημένης έκδοσης.

Η προτεραιότητα εξηγεί ένα αρχείο vars που έχασε

Η τεκμηριωμένη προτεραιότητα είναι επιλογή γραμμής εντολών, μετά περιβάλλον, μετά αρχείο vars, μετά ενσωματωμένη προεπιλογή. Επομένως μια σωστή τιμή σε vars χάνει από μια κληρονομημένη μεταβλητή περιβάλλοντος, και αυτή είναι η ήσυχη εκδοχή αυτής της αποτυχίας. Εξετάστε τις προβλεπόμενες μεταβλητές και την επιλογή αρχείου αντί να χύσετε όλο το περιβάλλον σε ένα δελτίο. Η διαφορά μεταξύ των δύο είναι συνήθως ένα μυστικό.

Διαβείτε την αλυσίδα με τη σειρά και σημειώστε ποια πηγή παρείχε τη διαδρομή που χρησιμοποίησε η εντολή. Μόλις το ξέρετε, η διόρθωση είναι μια σημαία ή ένα export, όχι μια νέα αρχή έκδοσης πιστοποιητικών.

Η αναφορά διαμόρφωσης του Easy-RSA ορίζει τον επιλογέα και την προτεραιότητα, και είναι η παραπομπή που μπαίνει στο δελτίο.

Επιβεβαιώστε τον εκδότη με δημόσιο υλικό

Με τον συνήθη εκδότη που βασίζεται σε αρχεία, διαβάστε ca.crt και αντιστοιχίστε το αποτύπωμά του με την εγγραφή εκδότη που εγκρίνατε. Ένα όνομα υποκειμένου που ταιριάζει δεν είναι απόδειξη ταυτότητας, ούτε ένας κατάλογος με το όνομα production. Μόνο το αποτύπωμα συνδέει το αρχείο που βρήκατε με την αρχή έκδοσης που είπαν στους ομοτίμους σας να εμπιστεύονται.

Αρκεί ένας έλεγχος μόνο για ανάγνωση: openssl x509 -in /srv/pki/office/ca.crt -noout -subject -issuer -serial -fingerprint -sha256.

Στη συνέχεια καθορίστε τον ρόλο του καταλόγου. Ένας κατάλογος αιτημάτων που χρησιμοποιεί ένας πελάτης δεν είναι βάση δεδομένων εκδότη, και ένα κλειδί υπογραφής που φυλάσσεται εκτός σύνδεσης δεν έχει καμία δουλειά σε κάθε κεντρικό υπολογιστή VPN. Ένα ca.key που λείπει είναι ιδιότητα σχεδιασμού σε αυτή τη διάταξη, όχι άδεια να επινοήσετε μια αρχή έκδοσης αντικατάστασης.

Αν η κατάσταση όντως χάθηκε

Μερικές φορές η διαδρομή είναι σωστή και η κατάσταση πραγματικά δεν υπάρχει. Ένα κενό index.txt και ένας μετρητής σειράς που επανεκκινήθηκε σας δίνουν ένα PKI που φαίνεται υγιές και δεν μπορεί να αποδείξει τίποτα για τα πιστοποιητικά που δεν είδε ποτέ: οι ανανεώσεις δεν θα ανακαλέσουν τα παλιά, και οι νέοι αριθμοί θα συγκρουστούν με το ιστορικό. Επαναφέρετε από το εγκεκριμένο αντίγραφο ασφαλείας της CA, γιατί η αρχικοποίηση ενός κενού PKI αλλού απλώς μετακινεί το σφάλμα και αφήνει πίσω μια δεύτερη, άσχετη αρχή έκδοσης.

Όταν η διαδρομή και ο εκδότης συμφωνήσουν, αντιμετωπίστε την επόμενη αποτυχία με βάση την ουσία της. Permission denied, ένα κλειδί υπογραφής που χρειάζεται τη φράση πρόσβασής του και μια εγγραφή έκδοσης που λείπει είναι τρία διαφορετικά σφάλματα, και μόνο ένα αφορά τον κατάλογο που μόλις διορθώσατε.

Μην αφαιρείτε ποτέ την κρυπτογράφηση κλειδιών και μην διευρύνετε τα δικαιώματα καταλόγου για να καλύψετε ένα λάθος διαδρομής. Το λάθος διορθώνεται φθηνά· η επισκευή όχι.

Σχετικά άρθρα