УСПЕХ!
Мне удалось получить закрытый ключ. Но это было нелегко. Вот что вам нужно сделать:
- Убедитесь, что вы не перезагружаете сервер или Apache. На этом игра окончена. Это также означает, что никакие сервисы мониторинга не перезапускают Apache.
- Возьмите этот файл - исходный код инструмента под названием passe-partout .
Извлеките исходный код и настройте строку 9, Makefile.main
чтобы читать:
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
(Обратите внимание, что $(OBJS)
и $(LDFLAGS)
в обратном порядке.)
- Беги
./build.sh
.
Получите PID Apache, используя:
service apache2 status
Запустите passe-partout
команду от имени пользователя root:
sudo passe-partout [PID]
... где [PID]
это значение, которое вы получили на шаге № 5.
Если программа завершится успешно, ваш текущий каталог будет содержать несколько дополнительных ключей:
you@server:~# ls
id_rsa-0.key id_rsa-1.key id_rsa-2.key
Если все прошло хорошо (и, надеюсь, все получилось), вам нужен один из этих ключей. Однако, если вы использовали более одного сертификата / ключевого файла, вам нужно выяснить, какой это. Вот как вы это делаете:
Сначала возьмите копию сертификата, соответствующего подписанному ключу. Предполагая, что файл назван server.crt
, выполните следующую команду:
openssl x509 -noout -modulus -in server.crt | openssl md5
Это выведет значение, которое вам нужно будет сопоставить с каждым из ключей. Для каждого ключа выполните следующую команду:
openssl rsa -noout -modulus -in id_rsa-0.key | openssl md5
Если один из них совпадает, вы нашли ключ.
Кредит: эта статья указала мне на паспарту.