![OpenVPN easy-rsa:在 vars 处设置通用名称](https://linux22.com/image/699852/OpenVPN%20easy-rsa%EF%BC%9A%E5%9C%A8%20vars%20%E5%A4%84%E8%AE%BE%E7%BD%AE%E9%80%9A%E7%94%A8%E5%90%8D%E7%A7%B0.png)
easy-rsa
我从以下网址获取了该工具的最新版本(3.0.1)Github为了生成一些用于小型 VPN 的证书。查阅文档后,我设法编写了一个vars
文件,其中包含了该工具提出的大多数问题的答案,包括设置通用名称:
set_var EASYRSA_REQ_CN "vpn.machine.dev"
vars
但是,该easy-rsa
工具似乎忽略了所有其他正确加载/采用我设置的值的选项EASYRSA_REQ_CN
。以下是示例:
Organizational Unit Name (eg, section) [IT]:
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:
Email Address [[email protected]]:
为什么 Common Name 不使用我设置的值而是默认为[Easy-RSA CA]
?我错过了什么?
谢谢你!
答案1
我刚刚快速浏览了easy-rsa
源代码,发现了这一点:
# Default CN only when not in global EASYRSA_BATCH mode:
[ $EASYRSA_BATCH ] && opts="$opts -batch" || export EASYRSA_REQ_CN="Easy-RSA CA"
EASYRSA_REQ_CN
显然,当不以批处理模式运行时,它只会忽略它( EASYRSA_BATCH
)。这肯定是一些按设计这个决定超出了我对这个工具的理解。
对于任何面临同样问题的人,添加以下内容vars
将解决此问题:
set_var EASYRSA_BATCH "yes"
警告:在批处理模式下运行时,该工具不会要求任何用户输入,并且可能会破坏以前的信息/产生错误。使用此模式前请测试您的配置。
答案2
我假设您想生成证书请求。我使用 EasyRSA 3.0.6 的方式如下:
EASYRSA_REQ_CN=vpn.machine.dev ./easyrsa --batch gen-req vpn.machine.dev nopass