Посібник радить редагувати vars у каталозі Easy-RSA, а в каталозі на вашій машині такого файлу немає. Зазвичай це невідповідність поколінь, а не зламаний пакет. Easy-RSA 2 тримав файл vars поруч із shell-помічниками на кшталт build-key; Easy-RSA 3 пропонує одну команду easyrsa і читає конфігурацію з шаблону плюс параметри командного рядка. З'ясуйте, який варіант у вас, перш ніж щось копіювати з посібника.

Виконайте ці перевірки по черзі, бо кожна звужує наступну.

1. Перелічіть, що встановлено

У системі родини Debian запитайте в менеджера пакетів, які файли він справді зареєстрував:

dpkg-query -L easy-rsa

Список для поточного пакета Debian містить make-cadir, програму easyrsa, шаблон конфігурації OpenSSL і vars.example. Це говорить про те, що постачила ця дистрибуція. Це не говорить про те, як інша дистрибуція або архів tar з upstream розклав те саме покоління, тому прочитайте версію, перш ніж тлумачити шляхи. Якщо вивід узагалі не показує make-cadir, ви, ймовірно, дивитеся на інше покоління пакування, а не на зламане встановлення.

easyrsa --version — найкоротший спосіб дізнатися, про яке покоління ви читаєте, і його варто виконати перед будь-якою іншою командою в посібнику.

2. Відрізніть покоління 2 від покоління 3

Покоління 2 постачало shell-помічники та файл vars, який ви мали редагувати. Покоління 3 постачає одну команду easyrsa з підкомандами, і вона читає конфігурацію з шаблону плюс явних параметрів.

Ця різниця пояснює більшість повідомлень «файл не знайдено» на цю тему. Посібник, написаний для 2, радить виконати source vars і build-key, а встановлення 3 не містить ні того, ні іншого. Гонитва за зниклим файлом із копії іншої машини — це те, як люди починають ганяти два покоління на одному каталозі PKI.

3. Відокремте каталог програми від робочого простору PKI

Встановлений каталог програми за задумом доступний лише для читання. Ваш PKI — це окремий каталог із CA, виданими сертифікатами та закритими ключами, і саме він несе права, які треба правильно налаштувати.

Якщо Authority вже існує, знайдіть його відкритий сертифікат і підтвердьте його стан перш ніж щось чіпати. Не ініціалізуйте заміну й не перезаписуйте індекс лише тому, що в посібнику був інший шлях. Копіювати відкриті шаблони безпечно, а копіювати закритий ключ емітента — ні, і в оболонці ці дві операції виглядають майже однаково.

4. Перевірте лапки, перш ніж гнатися за шляхом

Текст, скопійований із форматованої сторінки, часто приходить із типографськими лапками. Bash вважає лапками лише свої документовані роздільники ASCII, тому шлях у фігурних лапках стає буквальним ім'ям файлу, якого не існує.

printf '%s\n' "$EASY_RSA"

Це друкує значення однієї змінної, а не всього середовища, що й потрібно, коли питання в тому, чи містить значення сторонні символи або пробіли. Не припускайте, що EASY_RSA в поколінні 3 досі вибирає конфігурацію; натомість використовуйте документований параметр каталогу PKI для вашої версії.

5. Зупиніться, перш ніж щось переініціалізувати

Коли покоління програми, встановлені шляхи та роль робочого простору збігаються, залишкова помилка, ймовірно, пов'язана з правами або відсутнім станом, і вона заслуговує власної діагностики, а не ще одного обходу.

Встановлення кешованого пакета з іншого випуску, рекурсивне копіювання каталогів або створення порожніх записів емітента приховує початкову невідповідність і додає другу. Запишіть версію, шлях і точну помилку, перш ніж щось змінювати. Саме ці три перетворюють наступний крок на рішення, а не на ще одну здогадку, і утримують наступну людину від повторення пошуку.

Схожі статті