本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启用双向认证 AWS Client VPN
您可以在 Linux/macOS 或 Windows 的 Client VPN 中启用双向身份验证。
- Linux/macOS
-
以下过程使用 OpenVPN easy-rsa 生成服务器和客户端证书和密钥,然后将服务器证书和密钥上传到 ACM。有关更多信息,请参阅 Easy-RSA 3 快速入门自述文件
。 生成服务器和客户端证书和密钥并将其上传到 ACM
-
将 OpenVPN easy-rsa 存储库克隆到本地计算机并导航到
easy-rsa/easyrsa3
文件夹。$
git clone https://github.com/OpenVPN/easy-rsa.git$
cd easy-rsa/easyrsa3 -
初始化一个新的 PKI 环境。
$
./easyrsa init-pki -
要构建新的证书颁发机构(CA),请运行此命令并按照提示进行操作。
$
./easyrsa build-ca nopass -
生成服务器证书和密钥。
$
./easyrsa --san=DNS:server build-server-full server nopass -
生成客户端证书和密钥。
请务必保存客户端证书和客户端私有密钥,因为您配置客户端时需要这些信息。
$
./easyrsa build-client-full client1.domain.tld nopass您可以选择为需要客户端证书和密钥的每个客户端(最终用户)重复此步骤。
-
将服务器证书和密钥和客户端证书和密钥复制到自定义文件夹,然后导航到此自定义文件夹。
复制证书和密钥之前,请使用
mkdir
命令创建自定义文件夹。以下示例在您的主目录中创建自定义文件夹。$
mkdir ~/custom_folder
/$
cp pki/ca.crt ~/custom_folder
/$
cp pki/issued/server.crt ~/custom_folder
/$
cp pki/private/server.key ~/custom_folder
/$
cp pki/issued/client1.domain.tld.crt ~/custom_folder
$
cp pki/private/client1.domain.tld.key ~/custom_folder
/$
cd ~/custom_folder
/ -
将服务器证书和密钥以及客户端证书和密钥上传到 ACM。请确保在您打算在其中创建客户端 VPN 终端节点的同一区域中上传证书。以下命令使用 AWS CLI 上传证书。要改为使用 ACM 控制台上传证书,请参阅 AWS Certificate Manager 用户指南中的导入证书。
$
aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt$
aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt您不必将客户端证书上传到 ACM。如果服务器证书和客户端证书是由相同证书颁发机构 (CA) 颁发,则您可以在创建客户端 VPN 端点时在服务器和客户端中使用服务器证书 ARN。在上述步骤中,使用了相同 CA 来创建两个证书。但是,为了完整起见,其中包括上传客户端证书的步骤。
-
- Windows
-
以下过程安装 Easy-RSA 3.x 软件,并使用它生成服务器和客户端证书和密钥。
生成服务器和客户端证书和密钥并将它们上载到 ACM
-
打开 EasyRSA 版本
页面,然后下载适用于您的 Windows 版本的 ZIP 文件并对它进行解压缩。 -
打开命令提示符,然后导航到
EasyRSA-3.x
文件夹解压缩到的位置。 运行以下命令以打开 EasyRSA 3 shell。
C:\Program Files\EasyRSA-3.x>
.\EasyRSA-Start.bat-
初始化一个新的 PKI 环境。
#
./easyrsa init-pki -
要构建新的证书颁发机构(CA),请运行此命令并按照提示进行操作。
#
./easyrsa build-ca nopass -
生成服务器证书和密钥。
#
./easyrsa --san=DNS:server build-server-full server nopass -
生成客户端证书和密钥。
#
./easyrsa build-client-full client1.domain.tld nopass您可以选择为需要客户端证书和密钥的每个客户端(最终用户)重复此步骤。
-
退出 EasyRSA 3 shell。
#
exit -
将服务器证书和密钥和客户端证书和密钥复制到自定义文件夹,然后导航到此自定义文件夹。
复制证书和密钥之前,请使用
mkdir
命令创建自定义文件夹。以下示例在您的 C:\ 驱动器中创建自定义文件夹。C:\Program Files\EasyRSA-3.x>
mkdir C:\custom_folder
C:\Program Files\EasyRSA-3.x>
copy pki\ca.crt C:\custom_folder
C:\Program Files\EasyRSA-3.x>
copy pki\issued\server.crt C:\custom_folder
C:\Program Files\EasyRSA-3.x>
copy pki\private\server.key C:\custom_folder
C:\Program Files\EasyRSA-3.x>
copy pki\issued\client1.domain.tld.crt C:\custom_folder
C:\Program Files\EasyRSA-3.x>
copy pki\private\client1.domain.tld.key C:\custom_folder
C:\Program Files\EasyRSA-3.x>
cd C:\custom_folder
-
将服务器证书和密钥以及客户端证书和密钥上传到 ACM。请确保在您打算在其中创建客户端 VPN 终端节点的同一区域中上传证书。以下命令 AWS CLI 使用上传证书。要改为使用 ACM 控制台上传证书,请参阅 AWS Certificate Manager 用户指南中的导入证书。
aws acm import-certificate \ --certificate fileb://server.crt \ --private-key fileb://server.key \ --certificate-chain fileb://ca.crt
aws acm import-certificate \ --certificate fileb://client1.domain.tld.crt \ --private-key fileb://client1.domain.tld.key \ --certificate-chain fileb://ca.crt
您不必将客户端证书上传到 ACM。如果服务器证书和客户端证书是由相同证书颁发机构 (CA) 颁发,则您可以在创建客户端 VPN 端点时在服务器和客户端中使用服务器证书 ARN。在上述步骤中,使用了相同 CA 来创建两个证书。但是,为了完整起见,其中包括上传客户端证书的步骤。
-