На Windows и различных дистрибутивах Linux создание ключа OpenVPN происходит практически аналогичным способом. В своем примере мы используем установку OpenVPN на Ubuntu 18.04.
Ключи OpenVPN для сервера
- Команда для генерации ключей:
./easyrsa gen-req server nopass - Подпись созданного сертификата ключом CA:
./easyrsa sign-req server server - Появится предупреждение «подтвердить подпись». Пишем «yes» и вводим пароль центра сертификации. Созданные файлы копируются в каталог для сертификатов.
- Создаем файл параметров Diffie–Hellman:
openssl dhparam -out /etc/openvpn/certs/dh2048.pem 2048 - Создаем ключ HMAC (hash-based message authentication code):
openvpn --genkey --secret /etc/openvpn/certs/ta.key - В папке для хранения сертификатов должно появиться 5 файлов. Проверяем их наличие командой:
ls -l /etc/openvpn/certs/
Ключи клиентов OpenVPN
- Генерируем ключи и выполняем их подпись командой:
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1 - Отвечаем «yes» на вопрос о намерении подписать ключи клиентов, после чего вводим пароль CA.
Важно! Перед генерацией ключа следует выполнить несколько подготовительных шагов:
1. Произвести установку пакетов самой OpenVPN и утилиты Easy-rsa (для управления ключами и сертификатами) из официального репозитория.
- Установить центр сертификации и создать корневой сертификат. Должны быть созданы 2 файла — сертификат CA и приватный ключ CA.