У меня есть несколько хостов Linux (виртуализация), на которые я могу войти как root только на одном из хостов с помощью ssh root@host с настройкой ssh ключа (id_rsa.pub и авторизованные ключи). У меня нет такой настройки на других Linux хостах в том же кластере. У меня есть доступ к соленому хэшу пароля root. Я пытался расшифровать хэш разными способами, например, с помощью hashcat, но ни один из них не увенчался успехом.
Есть ли способ расшифровать хэш, чтобы я мог восстановить пароль root, или есть ли способ иметь такую же конфигурацию ключей для других узлов Linux на кластере?
«Хеши», используемые для паролей Linux, не симметричны, то есть они не могут идти назад. Вам придется потратить свое время, пытаясь применить его.
Намного лучше сбросить пароли в однопользовательском режиме. После этого вы можете убедиться, что у корневой учетной записи каждого сервера есть authorized_keys по мере необходимости.
Если бы существовал эффективный способ восстановления пароля по его хэшу, он не был бы эффективным способом хранения паролей! Цель криптографического хеша - сделать так, чтобы его было трудно отменить.
Если вы используете облачную платформу, у вас обычно есть возможность изменить пароль root или загрузить SSH-ключ для пользователя root, который позволит вам восстановить доступ.
Если вы используете не облачную платформу, а локальную виртуальную машину, вы можете загрузиться с живого образа, выполнить chroot на своем диске и изменить пароль root.
Вы также можете очень постараться запомнить, авторизовали ли вы ключ другого пользователя для подключения к этой учетной записи root с помощью SSH без пароля. Или, если повезет, вы могли дать большие разрешения sudo
пользователю, который мог выполнять sudo -i
или sudo su
или sudo bash
], что спасет вас ...
Если у вас нет привилегированного доступа к виртуальной машине и нет лазеек в вашей конфигурации, тогда вы облажались ...