![删除ca.crt和ca.key后是否可以恢复?](https://linux22.com/image/170764/%E5%88%A0%E9%99%A4ca.crt%E5%92%8Cca.key%E5%90%8E%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E6%81%A2%E5%A4%8D%EF%BC%9F.png)
我不小心删除了我的 OpenVPN ca.crt
、ca.key
、server.crt
和server.key
命令./clean-all
。我不知道服务器配置(当前也是“签名机”)指向目录easy-rsa/keys
而不是certificates
像我们在客户端上所做的那样指向文件夹。 (我知道不先检查这一点很愚蠢,但现在已经太晚了)
由于某种原因,已连接的设备仍保持连接状态。我还可以将新客户端与现有(旧的/当前部署的)证书连接起来。我想这是因为我还没有重新启动VPN服务,不是吗?(我现在不敢重新启动服务,因为我害怕我无法再访问客户端)
有没有办法让ca.key
我生成一个新的server.crt
and server.key
?(或者也许也可以回来server.x
)。我仍然有ca.crt
客户可用的。
当我无法挽回时ca.key
,解决问题的最佳方法是什么?我想我需要
- 生成一个新的
ca.crt
和ca.key
- 生成新的服务器证书
- 生成新的客户端证书
- 将新的(客户端)证书分发给客户端(因为我现在仍然可以通过 VPN 联系到他们)
- 重新启动客户端上的 VPN 服务(以便它们使用新证书)
- 重新启动服务器上的 VPN 服务,以便新证书生效(当我忘记客户端时,它从现在起就“丢失”了?)
重要的是我不要“失去”客户,因为我需要开车几个小时才能接触到一些客户!
答案1
我没有找到恢复我的 CA.crt 的解决方案,因此决定部署新证书,因为连接当前仍然有效。我设置了一个测试环境并测试了下面描述的工作流程。之后,我也使用该工作流程进行实时连接,并且工作正常!
- 首先生成“CA机器”上的所有证书(CA、服务器和客户端证书)
- 将证书部署到所有客户端并确保配置正确,以便他们使用新证书
- 在每个客户端上(单独)重新启动 OpenVPN 服务,并确保 OpenVPN 服务器上不再有“开放连接”
- 更换OpenVPN服务器证书并重启OpenVPN服务器上的OpenVPN服务
确保在交换新证书并检查配置之前不要重新启动任何服务。重要的是,在所有客户端获得新证书并且客户端上的服务重新启动之前,不要重新启动 OpenVPN 服务器服务。
现在我用新证书恢复了所有客户端连接。
答案2
如果我有时间,我可以尝试在备用的树莓派上执行此操作,然后看看。但是,如果做不到这一点,我要做的第一件事就是确保您可以远程访问客户端计算机,无论是使用 teamviewer 或类似的东西,这样您最终不得不把所有东西都扔掉并重新开始,您可以远程访问它们。