macos - 有没有人成功地将 MAC 连接到 Azure P2S 网络网关?没有任何文档对我有用
问题描述
从一个空目录开始:
- 生成 CAroot 私钥
$ openssl genrsa -aes256 -out dcsAzureVPN.key 2048
- 生成 CARoot 证书
$ 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"`
- 从 CSR 生成签名的客户端证书
$ 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
- 以 .pfx 格式打包密钥和证书
$ openssl pkcs12 -export -out dcsAzureVPNClient.pfx -inkey dcsAzureClientCert.key -in dcsAzureClientCert.cer -certfile dcsAzureVPN.cer
将客户端证书复制到我的钥匙串
使 dcsAzure VPN 成为受信任的证书。
选择 dcsAzureVPN 作为我的 VPN 连接的客户端证书
尝试连接。连接失败并出现错误:用户身份验证失败
我究竟做错了什么?
解决方案
我终于找到了问题所在。事实证明,本地 ID 必须匹配客户端证书主题,而不是客户端证书文件的名称。
推荐阅读
- angular - 角度 ngif 语句添加更多条件
- batch-file - 批处理文件永久变量?
- dask - 使用 dask 转换大量文件的最佳方法是什么?
- flutter - 在 tutorial_coach_mark 上获取下一个目标
- sql-server - 如何在 VS 中从 SQL 解决方案运行脚本
- spring-mvc - Spring MVC:如何修复 415 响应错误
- php - 通过 Podio API 创建/更新项目时如何设置唯一 ID 和创建日期
- swift - Swift - 从 HDR 视频中获取静止图像
- android - 反应本机导航调度不重置堆栈
- kotlin - 如何检查泛型类型/子类型