Шаг 4 Клиент

Генерация клиентского сертификата и пары ключей

Хотя вы можете сгенерировать закрытый ключ и запрос сертификата на своем клиентском компьютере, а затем отправить его в ЦС для подписи, в этом руководстве описан процесс создания запроса сертификата на сервере OpenVPN. Преимущество этого подхода заключается в том, что мы можем создать сценарий, который будет автоматически генерировать файлы конфигурации клиента, которые содержат все необходимые ключи и сертификаты. Это позволяет избежать необходимости передавать ключи, сертификаты и файлы конфигурации клиентам и упрощает процесс присоединения к VPN.

Для этого руководства мы создадим один ключ клиента и пару сертификатов. Если у вас более одного клиента, вы можете повторить этот процесс для каждого. Обратите внимание, однако, что вам нужно будет передать уникальное значение имени скрипту для каждого клиента. В этом руководстве первая пара сертификат / ключ упоминается как client1.

Начните с создания структуры каталогов в вашем домашнем каталоге для хранения сертификата клиента и файлов ключей:

mkdir -p ~/client-configs/keys

Поскольку вы будете хранить пары сертификатов / ключей ваших клиентов и файлы конфигурации в этом каталоге, вы должны заблокировать его разрешения сейчас в качестве меры безопасности:

chmod -R 700 ~/client-configs

Затем вернитесь в каталог EasyRSA и запустить easyrsaскрипт с gen-reqи nopassопций, а также с общим названием для клиента:

cd ~/easy-rsa

./easyrsa gen-req client1 nopass

Нажмите, ENTERчтобы подтвердить общее имя. Затем скопируйте client1.keyфайл в ~/client-configs/keys/каталог, который вы создали ранее:

cp pki/private/client1.key ~/client-configs/keys/

Затем перенесите client1.reqфайл на ваш CA Server, в нашем случае это всего навсего другая папка:

cp pki/reqs/client1.req tmp

Затем перейдите в каталог EasyRSA и импортируйте запрос сертификата:

cd ~/easy-rsa

./easyrsa import-req /tmp/client1.req client1

Затем подпишите запрос так же, как вы делали это для сервера на предыдущем шаге. На этот раз, тем не менее, обязательно укажите clientтип запроса:

./easyrsa sign-req client client1

При появлении запроса введите, yesчтобы подтвердить, что вы собираетесь подписать запрос сертификата и что он поступил из надежного источника:

OutputType the word 'yes' to continue, or any other input to abort.
Confirm request details: yes

Опять же, если вы зашифровали свой ключ CA, вам будет предложено ввести пароль здесь.

Это создаст файл сертификата клиента с именем client1.crt. Передайте этот файл обратно на сервер:

cp pki/issued/client1.crt /tmp

Гипотетически вернувшись на свой сервер OpenVPN, скопируйте сертификат клиента(мы просто ходим по папкам, имитируя действие с сервером) в ~/client-configs/keys/каталог:

cp /tmp/client1.crt ~/client-configs/keys/

Затем скопируйте ca.crtи ta.keyфайлы в ~/client-configs/keys/каталоге , а также, и установить соответствующие разрешения для SUDO пользователя:

cp ~/easy-rsa/ta.key ~/client-configs/keys/

sudo cp /etc/openvpn/server/ca.crt ~/client-configs/keys/

sudo chown sammy.sammy ~/client-configs/keys/*

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

Last updated

Was this helpful?