我已经设置了 OpenVPN 并且运行良好,但是我想向其中添加一个新的客户端密钥。根据文档,我在 CentOS 机器上发出了以下命令,并得到了以下输出。
$ cd /etc/openvpn/easy-rsa
$ source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys
$ ./pkitool client-new
Please edit the vars script to reflect your configuration,
then source it with "source ./vars".
Next, to start with a fresh PKI configuration and to delete any
previous certificates and keys, run "./clean-all".
Finally, you can run this tool (pkitool) to build certificates/keys.
如果我尝试命令,它也会显示相同的内容./build-key client-new
。知道为什么我不能这样做吗?我需要保留我所有的其他钥匙,我只需要再一个。谢谢你的帮助。
答案1
尝试
../变量
加载 vars 文件中的变量。
我不知道为什么,如果有人能解释一下原因的话。我以为 ./vars 只会运行脚本中的所有命令,包括导出命令,所以它们会在你的环境中。无论如何,在命令前面加上一个额外的 . 对我来说是可行的。
答案2
我在从 ubuntu(16.04)存储库全新安装 easy-rsa 时遇到了这个问题。
对我来说,解决方案是创建keys
目录。我还需要创建index.txt
并初始化serial
。
因此之后
source ./vars
KEY_DIR 环境变量指定一个需要存在的目录,我必须创建并初始化该目录。
mkdir -p $KEY_DIR
touch $KEY_DIR/index.txt
echo '1' > $KEY_DIR/serial
答案3
我更改了 vars 文件中的某些目录信息,最终解决了问题。它使用 pwd 作为 EASY_RSA 的目录,如果您在错误的目录中,就会出现一些奇怪的问题。修复该问题后,我收到了另一个可以轻松修复的错误。出于安全目的,我已加密 ca.key,但它抱怨无法读取,但这是一个简单的解密修复。感谢您的帮助。
答案4
如果您有证书文件,则可以使用 PuttyGen.exe 加载它并分别导出公钥和私钥。这可能对您有帮助吗?
这里有一些有关使用 PuttyGen.exe 的说明,如果您可以点击此链接:http://www.newartisans.com/2007/09/how-to-administer-openvpn.html