OpenVPN:“私钥密码验证失败”并已验证配置

OpenVPN:“私钥密码验证失败”并已验证配置

我安装了 OpenVPN:

$ sudo apt-get install openvpn

然后,我使用从公司收到的配置文件运行客户端。

$ sudo openvpn --config myconfig.ovpn

该配置已在同事的机器上验证有效。但有一个例外:我的同事使用的是 Windows 系统,我使用的是 Debian。

错误

Fri Jul 27 11:33:34 2018 OpenVPN 2.4.0 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jul 18 2017
Fri Jul 27 11:33:34 2018 library versions: OpenSSL 1.0.2l  25 May 2017, LZO 2.08
Fri Jul 27 11:33:34 2018 Error: private key password verification failed
Fri Jul 27 11:33:34 2018 Exiting due to fatal error

先决条件

  • Debian Stretch LXDE(最新)
  • 未安装服务器环境
  • 未安装 Pre-VPN 环境

配置的内容

client
dev tun
proto udp
remote example.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
tls-version-min 1.2
verify-x509-name server_pZFAVxw3z2VPJhKI name
cipher AES-256-CBC
auth SHA256
compress lz4
verb 3
<ca>
-----BEGIN CERTIFICATE-----
<<base64>>
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
<<base64>>
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,C6B57204A2ECC239
<<base64>>
-----END RSA PRIVATE KEY-----
</key>
<tls-crypt>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
<<base64>>
-----END OpenVPN Static key V1-----
</tls-crypt>

OpenVPN 官方手册推荐我尝试运行它的方式。所以我不知道问题可能是什么并寻求帮助。

错误的原因可能是什么?

答案1

在尝试另一个 Linux 系统后,我发现使用的私钥密码当然有问题d;.Jo$HhqA2l7yMd :Wx

如果有人创建了配置,则应将其中的私钥<key></key>提取到单独的文件中,然后进行验证openssl rsa -in client.key -check

我不知道到底是什么原因导致密码失败。我尝试了几种使用随机密码的新配置,并且 a$空格都没有再次导致失败。

有趣的是,在 Windows 系统上密码被接受。

答案2

我今天在这里面临同样的问题。

我当前的操作系统是Fedora 36(测试版)并正在使用开放VPN版本2.5.6来自 dnf 包管理器。

当我尝试执行与您相同的命令时出现问题

$ sudo openvpn --config myconfig.ovpn

我发现的原因是因为我注意到在我的另一台笔记本电脑中,我正在使用旧版本的 openvpn (2.4.9)它有一个依赖项openssl 版本 1,而不是openssl 版本 2在最新版本中使用。

所以我的解决方案是降级你的openvpn的版本(不推荐,但如果你想解决问题)。

相关内容