从空目录开始:
$ openssl genrsa -aes256 -out dcsAzureVPN.key 2048
$ openssl req -x509 -sha256 -new -key dcsAzureVPN.key -out dcsAzureVPN.cer -days 1825 -subj /CN="dcsAzureVPN"`
已成功将dcsAzureVPN.cer
复制到VPN网关并保存(请参阅所附的屏幕截图)
生成证书请求(CSR)
$ openssl genrsa -out dcsAzureClientCert.key 2048
$ openssl req -new -out tjaClientCert.req -key dcsAzureClientCert.key -subj /CN="dcsAzureVPN"`
$ openssl x509 -req -sha256 -in tjaClientCert.req -out dcsAzureClientCert.cer -CAkey dcsAzureVPN.key -CA dcsAzureVPN.cer -days 1825 -CAcreateserial -CAserial serial
Signature ok
subject=/CN=dcsAzureVPN
$ openssl pkcs12 -export -out dcsAzureVPNClient.pfx -inkey dcsAzureClientCert.key -in dcsAzureClientCert.cer -certfile dcsAzureVPN.cer
将客户端证书复制到我的钥匙串
使dcsAzure VPN成为受信任的证书。
选择dcsAzureVPN作为我的VPN连接的客户端证书
尝试连接。连接失败并显示错误:用户身份验证失败
我在做什么错了?
答案 0 :(得分:0)
您必须在将连接到Azure的每台Mac上手动配置本机IKEv2 VPN客户端。您可以使用these steps在Mac上为证书认证配置本机VPN客户端。
此外,您可以参考this对来自Mac OS X VPN客户端的点对点VPN连接进行故障排除。
此外,无论您要连接哪个客户端操作系统,都必须始终具有客户端证书。您可以从使用Enterprise CA解决方案生成的根证书或自签名根证书中生成客户端证书。有关生成客户端证书的步骤,请参见PowerShell,MakeCert或Linux说明。
请让我知道是否可行。
答案 1 :(得分:0)
我终于找到了问题。事实证明,本地ID必须匹配客户端证书主题,而不是客户端证书文件的名称。
答案 2 :(得分:0)
谁偶然发现了这个解决方案:如果您将客户端证书的 subj 从 dcsAzureVPN 更改为(例如)dcsAzureVPNSubj 并在本地 ID 的连接选项卡中使用它,它就会起作用。
所以不是这样:
openssl req -new -out tjaClientCert.req -key dcsAzureClientCert.key -subj /CN="dcsAzureVPN"
使用这个:
openssl req -new -out tjaClientCert.req -key dcsAzureClientCert.key -subj /CN="dcsAzureVPNSubj"
并在 MacOS VPN 连接选项卡上使用 dcsAzureVPNSubj 作为本地 ID。
在以下机器上工作: 20.5.0 达尔文内核版本 20.5.0:root:«乱码»/RELEASE_ARM64_T8101 arm64 大苏尔版本:11.4