帮助设置 OpenVPN 服务器

帮助设置 OpenVPN 服务器

我按照此处的说明在 ec2 上设置了一个 openvpn 服务器:http://alestic.com/2009/05/openvpn-ec2

一切都进行得很顺利。

我想将其更改为使用非对称密钥,并允许多个客户端连接,但我发现 openvpn 文档很难理解。有人知道一个好的教程可以帮我弥补这个差距吗?

是否可以设置 openvpn 来使用人们现有的 ssh 密钥?

答案1

我认为您不会找到在 OpenVPN 中使用现有 SSH 密钥的方法。OpenVPN 需要 X.509 证书才能运行,而且我认为 OpenSSH 不会在没有修补的情况下使用 x.509 证书(请参阅http://roumenpetrov.info/openssh/)。

理解 OpenVPN 和非对称加密的关键是理解 PKI 的工作原理。OpenVPN 服务器配置了自己的证书,并且仅当客户端证书由与其自己的证书签名相同的 CA 签名时,才会接受客户端证书。

在官方 HOWTO 中(http://www.openvpn.net/index.php/open-source/documentation/howto.html) 您将创建一个 CA 公钥/私钥对和证书(文档中称为“主 CA”),然后为服务器和 3 个客户端创建证书。您不必在 OpenVPN 服务器计算机上执行此操作(事实上,最好不要这样做)。

HOWTO 要求您使用 OpenVPN 发行版中的一些脚本来操作 OpenSSL 命令行工具(“easy-rsa”脚本)。如果您能花一些时间熟悉 OpenSSL 命令行工具,那么您的运气会更好。对于尝试,easy-rsa 脚本和 HOWTO 都很好。

为了获得最佳安全性,您将在离线计算机(即没有或最小网络连接)上创建 CA,并在 OpenVPN 服务器和每个客户端上创建证书请求(公钥/私钥对)。您将通过某种方式将证书请求发送给 CA,在 CA 处签署请求,然后将生成的证书发送回各个机器。这样可以防止私钥通过网络传输,并确保 CA 安全无虞。

答案2

看一下 ubuntu 上的操作方法:https://help.ubuntu.com/community/OpenVPN 它很容易理解,而且效果很好!对于多个客户端,只需为每个用户创建一个新的客户端配置和密钥,然后用用户名替换配置和密钥名称。

答案3

看一下这个 HOWTO:http://www.openvpn.net/index.php/open-source/documentation/howto.html#pki - 设置自己的证书颁发机构 (CA) 并为 OpenVPN 服务器和多个客户端生成证书和密钥

这可能就是您想要的...当您完成它时,您的服务器配置中必须有类似这样的内容(其中包括):

ca ca.crt cert server.crt 密钥 server.key

相关内容