Как восстановить доступ к VPS серверу по SSH
Так вышло, что обнаружил на своем сервере следы посторонней деятельности.
Залил свой публичный ключ и добавил файлик
/etc/ssh/sshd_config.d/disable_root_login.conf
.
В нем запретил заходить по паролю:
PasswordAuthentication no
И запретил заходить под root
. Подумал, что это отличная идея)
PermitRootLogin no
А другого пользователя разумеется не создал)
Вышел, а дальше все. Сервер превратился в тыкву. Саппорт разводит руками, ничего делать не будем. Посоветовали финт с отладочным диском. Его и провернул.
Идея такая, на панели хостера, заливаем iso образ с програмкой rescue
Подключаем к своему серверу и делаем первым в списке. Запускаем сервер. Дальше идем в VNC панель. И видим такой интерфейс: Я понятия не имею, что делают все остальные опции, поэтому просто жмакаю Enter, причем несколько раз.
Доходим до обычной командной строки. Это такой же линукс, это это не ваше окружение. Вы тут ничего своего не найдете.
Чтобы найти свое, необходимо определить диск, который подключен вторым, собственно на котором все ваше добро и лежит.
fdisk -l
Покажет ваши виртуальные диски, как они подключены. Но зайти на них не получится. Необходимо сперва примонтировать диск.
mount /dev/vda5 /mnt
И все, все наши файл тепеь по пути /mnt
Тут нужно быть внимательным. Когда вы на своем сервере сходу заходили на
/etc/nginx
Тут надо будет заходить на
/mnt/etc/nginx
Ну я удалил свой файлик, и затем сделал все по людски.
Вот пара хороших статей про это:
https://www.cyberciti.biz/faq/how-to-disable-ssh-password-login-on-linux/ https://habr.com/ru/articles/446252/
Всем пока!