本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启用双向认证 AWS Client VPN
你可以在 Linux/macOS 或 Window VPN s 的客户端中启用双向身份验证。
- Linux/macOS
-
以下过程使用 Op VPN en easy-rsa 生成服务器和客户端证书和密钥,然后将服务器证书和密钥上传到。ACM有关更多信息,请参阅 E asy-RSA 3 快速入门README
。 生成服务器和客户端证书和密钥并将其上传到 ACM
-
将 Op VPN en 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
-
打开 “简易RSA发布
” 页面,下载适用于您的 Windows 版本ZIP的文件并解压缩。 -
打开命令提示符,然后导航到
EasyRSA-3.x
文件夹解压缩到的位置。 运行以下命令打开 Easy RSA 3 外壳。
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您可以选择为需要客户端证书和密钥的每个客户端(最终用户)重复此步骤。
-
退出 Easy RSA 3 外壳。
#
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 来创建两个证书。但是,为了完整起见,其中包括上传客户端证书的步骤。
-