我刚刚设法在我的服务器上正确设置了 OpenVPN,并测试它是否可以与客户端计算机正常工作,我开始想知道如何在客户端来来去去时生成 OpenVPN 密钥。
是否有必要重建 Diffie-Hellman.dh
文件并重新创建所有以前的客户端密钥,因为我只需要添加或删除一个客户端?
谢谢
答案1
正如 Ency 所说,只要您创建了自己的 CA,就可以为新用户创建另一个密钥。在输入更多信息之前,当您设置 openVPN 时,您确实按照建议创建了自己的 CA,不是吗?
编辑:好的,那么
cd easy-rsa
. ./vars
./build-key newclient
我还在某处有一些关于制作 CRL 的说明,它允许您撤销旧证书,并将 openVPN 指向 crl,但我无法立即找到它们。
答案2
我的解决方案是:
我有自己的证书颁发机构,每当我需要新客户端时,我只需创建另一个证书即可。这很简单,而且我确信即使easyRSA
使用 openVPN 交付,您也可以做同样的事情。
它也更通用,因为您可以轻松管理其他服务(如 apache 等)的证书。
答案3
对所有客户端使用 duplicate-cn 选项和一个密钥,或者使用 easy-rsa 创建用户认证。
答案4
在 Windows 7 上的 OpenVPN 2.4.7 上进行了测试。我遵循了以下步骤:
- 以管理员权限打开 CMD。
- 搬去easy-rsa目录,在 OpenVPN 目录内。
- 跑步
vars.bat
。 - 跑步
clean-all.bat
。 - 确保证书密钥和证书在目录中键,刚刚由 创建
clean-all.bat
。 - 跑步
build-key A_New_Client
。 - 将有新客户端.crt,新的客户端.csr和新客户端.key。这些是新客户端特有的文件。将它们复制到某处。
- 出于安全原因,粉碎目录键多于。
假设vars.bat
自上次以来没有改变,特别是密钥大小部分,以及openssl-1.0.0.cnf保持默认。