Назад | Перейти на главную страницу

SSH без пароля не работает

Я много раз успешно и с легкостью настраивал SSH-аутентификацию без пароля (через authorized_keys), обычно на серверах, на которых до этого не было никаких пользовательских изменений конфигурации, связанных с ssh.

Теперь мне нужно настроить его на сервере CentOS, где другой человек ранее отключил эту функцию из-за «проблем безопасности», высказанных плохо информированным менеджером. Этот человек больше не доступен, и я не могу понять, как это сделать.

У меня это в sshd_config:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  %h/.ssh/authorized_keys
UsePAM yes

Есть и другие настройки, но я думал, что они не имеют значения. Есть предложения, что я должен проверить, чтобы эта работа работала?

Самая распространенная причина, которую я видел, - это слишком разрешительные разрешения для ~ / .ssh / авторизованных ключей. Файл авторизованных ключей должен иметь доступ на чтение / запись ТОЛЬКО для владельца (chmod 600 ~/.ssh/authorized_keys). Сам каталог также может не допускать никаких записей (chmod 700 ~/.ssh)

Вы действительно можете прокомментировать AuthorizedKeysFile, поскольку это значение по умолчанию.

Что сервер регистрирует при сбое в настоящее время? Вы проверили разрешения на .ssh и authorized_keys и / или инвалиды StrictModes?

Увеличить LogLevel при необходимости и / или запустить sshd в автономном режиме.

Быстрое и грязное решение: скопируйте / etc / ssh / sshd_config и / etc / ssh / ssh_config с сервера, на котором он работает.

Вы также можете удалить все комментарии из файлов на рабочем и нерабочем сервере (например, запустить egrep -v '^#' /etc/ssh/sshd_config | sort | uniq и сравните результаты на обоих серверах.

Также посмотрите на права доступа к каталогам и файлам, как предложил Алекс.