Google Analytics

пятница, 3 августа 2012 г.

Недавно я решил создать виртуальную машину на базе KVM для Web-разработки(что-бы не настраивать LAMP-стек каждый раз, как я решу сменить свой дистрибутив). Дело  не сложное, но муторное. />
Так вот, передав публичный ключ на сервер, я был очень удивлён что при вводе команды

ssh devel@vserv

вылез стандартный запрос пароля. Стал я искать, в чём же причина данного явления. Вначале глянул на процес авторизации с ключом -v, но отладка показала, что ssh работает нормальным образом. Прочитал на одном форуме что нужно отключить директиву PermitRootLogin. Отключил на всякий случай. Не помогло. Выставил правильные права на ~/.git, тоже не помогло.

Проверил  на всякий случай лог /var/log/auth.log  и обнаружил там прелюбобытнейшую вещь:


Aug  3 13:45:01 vserv sshd[1344]: Authentication refused: bad ownership or modes for directory /home/devel

Итак, ssh указывал на небезопастные права на директории /home/devel. Пришлось изменить эти права на 700, и ssh сразу стал конектится с авторизацией по ключу. Всё решилось очень просто, одной командой:

chmod 700 /home/devel
Если вы столкнулись с подобной проблемой, и авториазция по ключу не проходит, попробуйте запустить ssh с ключом -vvv, который выводит расширенную информацию о процессе работы ssh. Если это не поможет, не поленитель проверить права на домашний каталог вашего пользователя, и на каталог .ssh. И конечно, столкнувшись с проблемой, всегда стоит первым делом изучить логи. Нередко в них можно найти достаточно информации для успешной диагностики вознкшей проблемы.

Комментариев нет: