Вводные: У клиента есть сервак с авторизацией по ssh ключам. С виду все настроено верно. Катают ансиблом.
Проблема: При подключении к серверу, продолжает запрашиваться пароль. Хотя явно указан ключ для подключения, а на сервере прописан публичный ключ клиента в
authorized_keys.Проблема на самом деле распространенная. Для отладки открываем логи авторизаций и смотрим что происходит. И да, никто блядь не читает логи, а сразу начинают искать суслика, которого нет. ЧИТАЙ ЛОГИ!
Понятно дело, в логах видим ошибку:
message repeated 4 times: Authentication refused: bad ownership or modes for file /root/.ssh/authorized_keys
С этой ошибкой ты всяко бодался. Смотрим права. И действительно, на файле
authorized_keys стоят 3 топора (777). А должно быть 600. Как фиксить, ежу понятно.✔️ \033[1m Но сейчас про другое \033[0m
Как сказать пингвину, чтобы он забил хуй на проверку прав для этих ключей?
А вот так, добавляем в
/etc/ssh/sshd_config строчку:StrictModes no
Ну и рестартим демона
systemctl restart sshdВсё. Теперь можешь играться с правами ключей. Хоть 000 выстави. Права проверяться не будут и тебя успешно пропустят без пароля.
Когда StrictModes установлено в no, SSH сервер не будет так строго проверять права доступа к этим файлам и каталогам. Это означает, что, например, если домашний каталог пользователя имеет права доступа, которые обычно не допускаются (например, другие пользователи могут читать каталог), SSH сервер все равно будет работать.
Установка StrictModes no уменьшает уровень безопасности, так как позволяет некоторым нежелательным правам доступа с точки зрения безопасности, но это может быть полезно в некоторых сценариях, например, при развертывании на тестовых серверах или в средах, где безопасность не является приоритетом.
Короче для дебага фишка мастхев, если в логах хуй с маслом, включаем эту опцию и проверяем, действительно ли дело в правах на ключи или дело в кривых руках.
Финк диферент!
tags: #linux #debug
@ВАSНDАYS | BАSHDАYS.CОM