Если вы настроили авторизацию по ключу, но удаленный сервер при входе продолжает с вас упорно требовать пароль, то отправляйтесь смотреть логи на удалённом сервере:
tail /var/log/auth.log
Если там встретите ошибку Authentication refused: bad ownership or modes for directory
, то это означает, что беда в правах на папки и файл с разрешенными ключами. Далее обсудим, какие права необходимо установить.
Отправляйтесь на удалённый сервер под тем пользователем, которым пытаетесь авторизоваться и делайте следующее:
chmod go-w ~/ chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
По шагам:
- Запрещаем запись в домашнюю директорию пользователя всем, кроме владельца.
- Разрешаем чтение, вход и запись в директории с настройками
.ssh
только владельцу. - Разрешаем читать и менять файл
.ssh/authorized_keys
только владельцу.
У меня вот, например, часто нарушается п. 1 этого списка, поскольку домашняя директория валяется где-нибудь в /var/www
.
»