Я пытаюсь сохранить имя пользователя и пароль моего клиента openvpn в .secret.txt, и я получаю сообщения об ошибках при попытке подключения или пароль запрашивается вместо чтения из .secret.txt.
Вот мой файл конфигурации:
resolv-retry infinite
nobind
persist-key
persist-tun
key-direction 1
remote-cert-tls server
tls-version-min 1.2
verify-x509-name server_4EBX2EpXPZasiTv1 name
cipher AES-256-CBC
auth SHA256
comp-lzo
verb 3
<ca>
auth-user-pass //root/.secret.txt
При попытке подключения мне все еще предлагается ввести пароль:
Wed Aug 8 07:44:22 2018 OpenVPN 2.4.3 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jul 3 2017
Wed Aug 8 07:44:22 2018 library versions: OpenSSL 1.0.2g 1 Mar 2016, LZO 2.08
Enter Private Key Password:
«Введите пароль секретного ключа» предполагает, что вы, возможно, лаяли не на то дерево.
Похоже, вы аутентифицируетесь на основе PKI, а ваш закрытый ключ зашифрован и требует использования пароля (полностью локальный процесс).
auth-user-pass
, с другой стороны, для аутентификации на сервере VPN с именем пользователя и паролем, которые не связаны.
Один из вариантов решения вашей реальной проблемы - хранить ваш закрытый ключ в открытом виде, так что для его использования пароль не требуется.
Это можно сделать с помощью openssl rsa
, что-то вроде:
openssl rsa -in file1.key -out file2.key
А затем вместо этого используйте новый файл в конфигурации openvpn.
Вы можете указать пароль для ключа к сертификату в файле с помощью этой опции:
--askpass [file]
Get certificate password from console or file before we daemonize.