Не удалось сгенерировать ключи для openvpn с использованием easy-rsa.

Вопрос или проблема

Я следовал уроку, чтобы настроить свой Raspberry Pi для работы с OpenVPN (я довольно нов в использовании Pi и сетях, и это показалось мне интересным вводным проектом). Однако я столкнулся с проблемой, когда пытался сгенерировать ключи с помощью easy-rsa. Я отредактировал файл vars, чтобы указать на директорию easy-rsa, но всякий раз, когда я пытаюсь выполнить файл vars, я получаю следующее сообщение:

-bash: /etc/openvpn/easy-rsa: Это директория
-bash: /whichopensslcnf: Нет такого файла или директории
ПРИМЕЧАНИЕ: Если вы выполните ./clean-all, я выполню rm -rf на /keys

/etc/openvpn/easy-rsa – это местоположение директории, поэтому я считаю первую строку несколько избыточной. Также файл /whichopensslcnf явно находится прямо внутри директории.

Любой совет или подсказки будут очень ценными.

ОБНОВЛЕНИЕ #1

Урок можно найти здесь: https://readwrite.com/2014/04/10/raspberry-pi-vpn-tutorial-server-secure-web-browsing/

source ./vars – это команда, которая вызывает ошибку.

# настройки параметров easy-rsa

# ПРИМЕЧАНИЕ: Если вы установили из RPM,
# не редактируйте этот файл на месте в
# /usr/share/openvpn/easy-rsa --
# вместо этого вам следует скопировать всю
# директорию easy-rsa в другое место
# (например, /etc/openvpn), чтобы ваши
# изменения не были потеряны при будущем
# обновлении пакета OpenVPN.

# Эта переменная должна указывать на
# верхний уровень дерева easy-rsa.
export EASY_RSA="`/etc/openvpn/easy-rsa`"

#
# Эта переменная должна указывать на
# запрашиваемые исполняемые файлы
#

export OPENSSL="openssl"
export PKCS11TOOL="pkcs11-tool"
export GREP="grep"

# Эта переменная должна указывать на
# файл openssl.cnf, включенный
# с easy-rsa.
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf`

# Отредактируйте эту переменную, чтобы указать на
# вашу создаваемую директорию ключей.
#
# ПРЕДУПРЕЖДЕНИЕ: clean-all выполнит
# rm -rf в этой директории,
# так что убедитесь, что вы определили
# ее правильно!
export KEY_DIR="$EASY_RSA/keys"

# Выполните предупреждение rm -rf
echo ПРИМЕЧАНИЕ: Если вы выполните ./clean-all, я выполню rm -rf в $KEY_DIR

# Исправления PKCS11
export PKCS11_MODULE_PATH="dummy"
export PKCS11_PIN="dummy"

# Увеличьте это до 2048, если вы
# параноик. Это замедлит
# производительность TLS-торговли
# а также процесс генерации одноразовых параметров DH.
export KEY_SIZE=2048

# На сколько дней должен истекать корневой ключ CA?
export CA_EXPIRE=3650

# На сколько дней должны истекать сертификаты?
export KEY_EXPIRE=3650
# Это значения по умолчанию для полей,
# которые будут размещены в сертификате.
# Не оставляйте ни одно из этих полей пустым.
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="[email protected]"
export KEY_OU="MyOrganizationalUnit"

# Поле X509 Subject
export KEY_NAME="EasyRSA"

# Смарт-карта PKCS11
# export PKCS11_MODULE_PATH="/usr/lib/changeme.so"
# export PKCS11_PIN=1234

# Если вы хотите подписать все ключи с одним и тем же Общим именем, раскомментируйте 
KEY_C$
# Вам также нужно будет убедиться, что конфигурация вашего сервера OpenVPN содержит 
duplicate-$
# export KEY_CN="CommonName"

Строка 14 – это единственное, что я изменил.

Обновление #2

Благодаря sim, я смог перейти через эту исходную проблему, но теперь, когда я пытаюсь выполнить команду ./clean-all, меня просят выполнить файл vars, хотя я уже это сделал.

pi@cympi:/etc/openvpn/easy-rsa $ source ./vars
ПРИМЕЧАНИЕ: Если вы выполните ./clean-all, я выполню rm -rf в /etc/openvpn/easy- 
rsa/keys
pi@cympi:/etc/openvpn/easy-rsa $ sudo ./clean-all
Пожалуйста, сначала выполните скрипт vars (т.е. "source ./vars")
Убедитесь, что вы отредактировали его в соответствии с вашей конфигурацией.

Я несколько раз возвращался назад и вперед, но не могу перейти через этот пункт.

Эта строка пытается выполнить следующее:

export EASY_RSA="`/etc/openvpn/easy-rsa`"

Обратите внимание на обратные кавычки вокруг /etc/openvpn/easy-rsa. Они попытаются выполнить это как команду. Смотрим на руководство, эта строка показана так:

export EASY_RSA=”/etc/openvpn/easy-rsa” 

Ответ или решение

Проблема, с которой вы столкнулись при попытке сгенерировать ключи для OpenVPN с использованием Easy-RSA, в основном связана с неправильной настройкой переменной окружения EASY_RSA и вызовом файла vars. Давайте рассмотрим ключевые моменты и шаги, которые помогут вам устранить эти проблемы и успешно создать необходимые ключи.

Анализ проблемы

1. Ошибка в определении переменной EASY_RSA

В вашем конфигурационном файле vars имеется строка:

export EASY_RSA="`/etc/openvpn/easy-rsa`"

Здесь вы пытаетесь выполнить команду, которая ссылается на директорию /etc/openvpn/easy-rsa, и это приводит к ошибке, так как систему не удается интерпретировать эту директиву как команду. Вместо этого нужно указать путь к директории как строку, а не как команду. Правильная строка должна выглядеть следующим образом:

export EASY_RSA="/etc/openvpn/easy-rsa"

2. Путь к файлу openssl.cnf

Далее, чтобы исправить проблему с определением переменной KEY_CONFIG, которая зависит от переменной EASY_RSA, убедитесь, что строка:

export KEY_CONFIG=`$EASY_RSA/whichopensslcnf`

изменена на:

export KEY_CONFIG="$EASY_RSA/whichopensslcnf"

Это необходимо для правильной интерпретации пути к файлу openssl.cnf.

Шаги по исправлению

  1. Откройте файл vars:
    Отредактируйте файл, в котором вы настроили переменные окружения. Для этого можно использовать любой текстовый редактор, например, nano:

    sudo nano /etc/openvpn/easy-rsa/vars
  2. Измените определения переменных:
    Убедитесь, что строки задаются корректно и выглядят следующим образом:

    export EASY_RSA="/etc/openvpn/easy-rsa"
    export KEY_CONFIG="$EASY_RSA/whichopensslcnf"
  3. Сохраните изменения и выйдите из редактора.

  4. Запустите source для обновления переменных:

    source ./vars
  5. Теперь выполните clean-all:

    sudo ./clean-all

Если все корректно настроено, предыдущие ошибки больше не должны появляться.

Заключение

Следуя указанным шагам и внимательно обращая внимание на правильное определение переменных в файле vars, вы сможете устранить проблемы, связанные с генерацией ключей для OpenVPN. Убедитесь, что вы затрагиваете только те строки, которые необходимо исправить, и всегда проверяйте документацию на наличие возможных обновлений или изменений. Если возникнут дополнительные вопросы или трудности, не стесняйтесь задавать их, так как сообщество всегда готово помочь новеньким в вопросах настройки и администрирования системы.

Оцените материал
Добавить комментарий

Капча загружается...