Какую структуру пакета Easy-RSA использовал тот учебник?
Учебник, который ожидает vars или build-key, описывает Easy-RSA 2. Проверьте установленное поколение и рабочее пространство PKI, прежде чем что-либо копировать.
Учебник велит редактировать vars в каталоге Easy-RSA, а в каталоге на вашей машине такого файла нет. Обычно это несовпадение поколений, а не сломанный пакет. Easy-RSA 2 держал файл vars рядом с оболочными помощниками вроде 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 поставляло оболочные помощники и файл 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. Остановитесь, прежде чем что-либо переинициализировать
Когда поколение программы, установленные пути и роль рабочего пространства совпадают, оставшаяся ошибка, вероятно, связана с правами или отсутствующим состоянием, и она заслуживает собственной диагностики, а не ещё одного обходного пути.
Установка кэшированного пакета из другого выпуска, рекурсивное копирование каталогов или создание пустых записей эмитента скрывает исходное несовпадение и добавляет второе. Запишите версию, путь и точную ошибку, прежде чем что-либо менять. Именно эти три превращают следующий шаг в решение, а не в ещё одну догадку, и удерживают следующего человека от повторения поиска.