Шаг 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
чтобы подтвердить, что вы собираетесь подписать запрос сертификата и что он поступил из надежного источника:
Опять же, если вы зашифровали свой ключ 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?