Я случайно удалил свой OpenVPN ca.crt
, ca.key
и server.crt
с server.key
помощью ./clean-all
команды. Я не знал, что конфигурация сервера (в настоящее время также «машина для подписи») указывает на каталог, easy-rsa/keys
а не на certificates
папку, как мы делаем на клиентах. (я знаю, что глупо не проверить это сначала, но теперь уже слишком поздно)
По какой-то причине уже подключенные устройства остаются подключенными. Я также могу подключать новых клиентов с существующими (старыми/текущими развернутыми) сертификатами.Я думаю, это потому, что я еще не перезапустил службу VPN, не так ли?(Я не решаюсь перезапустить службу сейчас, потому что боюсь, что больше не смогу получить доступ к клиентам)
Есть ли способ получить мой ca.key
, чтобы я мог сгенерировать новый server.crt
и server.key
?(Или, может быть, также получить server.x
и заднюю часть.) У меня все еще есть, ca.crt
так как она доступна на клиентах.
Если я не могу восстановить силы ca.key
, каков наилучший способ решения моей проблемы?Я полагаю, мне нужно
- сгенерировать новый
ca.crt
иca.key
- сгенерировать новый сертификат сервера
- генерировать новые клиентские сертификаты
- распространить новые (клиентские) сертификаты среди клиентов (так как теперь я все еще могу связаться с ними через VPN)
- перезапустите службу VPN на клиентах (чтобы они использовали новый сертификат)
- перезапустите службу VPN на сервере, чтобы новые сертификаты стали активными (если я забуду клиента, он теперь «потеряется»?)
Мне важно не «терять» клиентов, так как мне нужно ехать несколько часов, чтобы добраться до некоторых из них!
решение1
Я не нашел решения, чтобы вернуть свой CA.crt, и решил развернуть новые сертификаты, так как соединения в настоящее время все еще активны. Я настроил тестовую среду и протестировал рабочий процесс, описанный ниже. После этого я использовал этот рабочий процесс для реальных соединений и все работало отлично!
- Сначала генерируются все сертификаты на «CA Machine» (сертификаты CA, сервера и клиента)
- Развернул сертификаты для всех клиентов и убедился, что конфигурации верны, чтобы они использовали новые сертификаты.
- Перезапустите службу OpenVPN на каждом клиенте (по отдельности) и убедитесь, что на сервере OpenVPN больше нет «открытых соединений».
- Замените сертификат сервера OpenVPN и перезапустите службу OpenVPN на сервере OpenVPN.
Убедитесь, что вы не перезапускаете никакую службу до обмена новыми сертификатами и проверки конфигураций. Важно, чтобы служба сервера OpenVPN не перезапускалась до того, как все клиенты получат новые сертификаты и службы на клиентах будут перезапущены.
Теперь я восстановил все свои клиентские связи с помощью новых сертификатов.
решение2
Если у меня будет время, я могу попробовать сделать это на запасном Raspberry Pi и посмотреть. Но если это не получится, первое, что я бы сделал, это убедился, что вы можете удаленно подключиться к клиентским компьютерам, либо с помощью TeamViewer, либо с помощью чего-то подобного, таким образом вам придется все снести и начать заново, вы сможете удаленно подключиться к ним.