Это, например, https://wiki.archlinux.org/index.php/Easy-RSA сообщает, что я помещаю все файлы, относящиеся к серверу, в каталог «server», а все клиентские - в каталоги «client». Я сгенерировал все файлы и переместил их в «сервер» и «клиент». Затем я хотел создать второго клиента и получил исключение.
$ sudo easyrsa build-client-full client2
Исключение:
Easy-RSA error:
Missing expected CA file: ca.crt (perhaps you need to run build-ca?)
Run without commands for usage and command help.
easyrsa не позволяет мне указывать расположение файла CA. И, возможно, он не ожидает найти ключ ca.crt / в каталоге "server".
Вот что у меня в "сервере":
$ ls -al /etc/openvpn/server/
ca.crt
dh.pem
openvpn-status.log
openvpn.log
server.conf
server1.crt
server1.key
ta.key
Куда мне поместить все сертификаты и ключи сервера, а где ключи и сертификаты клиента?
Я думаю, что здесь ошибочное представление о том, что все это будет всего лишь одной вещью, которую вы настраиваете, хотя на самом деле в ней задействовано несколько концептуально отдельных ролей.
(Роли, которым вы "следовали" в руководстве, рекомендуют выполнять на отдельных машинах.)
Это роль центра сертификации (независимо от того, реализована ли она через Easy-RSA или что-то более сложное). Для работы ему НУЖНЫ собственный ключ и все сертификаты.
Это роль сервера OpenVPN. НУЖЕН собственный ключ + сертификат, а также сертификат CA.
Это роль клиентов OpenVPN. Этим НУЖНЫ собственные ключи + сертификаты, а также сертификат CA.
Независимо от того, как вы это сделаете, некоторые файлы будут дублироваться (в частности, сертификат CA, скорее всего, будет на МНОГИХ машинах, а не только на двух копиях, на которые вы ссылаетесь).
Если вы хотите, чтобы ЦС находился на том же компьютере, что и VPN-сервер, вполне возможно, что вы сможете сэкономить крошечный объем места, используя те же файлы вместо копирования некоторых файлов сертификатов, но на самом деле это не имеет смысла, и удаление файлы из ЦС не вариант.