Я настраиваю учетную запись пользователя для входа на сервер через SSH. Имя пользователя - «sam»
sudo useradd sam
. Это создает каталог / home / sam. Я создал каталог .ssh и записал открытый ключ в файл authorized_keys в этом каталоге. Мне удалось войти в систему с помощью Putty и FileZilla (конечно, используя соответствующий закрытый ключ)
Однако теперь я делаю это:
sudo usermod -d some_other_directory sam
Затем я создал .ssh в указанном выше новом домашнем каталоге и создал файл authorized_keys .... все с соответствующими разрешениями и владельцами (владелец sam и группа sam). Сейчас я вообще не могу войти в систему .... Как только я изменяю домашний каталог обратно на / home / sam, я снова могу войти в систему ..... любые идеи о том, что я здесь делаю неправильно ?
Возможно, у вас включен Selinux
и он блокирует доступ для authorized_keys
вне папки /home
. Вот тема форума Centos как решить эту проблему.
Проверьте /var/log/auth.log
или /var/log/secure
или другой подобный файл в зависимости от вашей системы. Есть вероятность, что вы найдете записи типа:
sshd[32458]: Authentication refused: bad ownership or modes for directory some_other_directory
И после этого вы должны проверить права собственности и режимы для этой папки и исправить их: ваш домашний каталог и .ssh не должны иметь групповых и других прав на запись.