RedHat 6/Oracle Linux 6 не разрешает аутентификацию по ключу через ssh

Ключи правильно развернуты в ~/.ssh/authorized_keys

Тем не менее, ssh продолжает запрашивать пароль.

4 ответа

Решение

Несколько проблем, в основном привилегий - но также связанных с SELinux на RedHat 6

Следующий скрипт должен исправить их все, пожалуйста, замените <user>:<group> с вашим соответствующим идентификатором пользователя и группой

chown -R <user>:<group> ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
restorecon -R -v ~/.ssh

Я согласен с вышеуказанными изменениями, работающими на большинстве вариантов linux в учетной записи root. У меня была проблема с RedHat 6.3 при попытке получить учетную запись пользователя postgres для использования аутентификации DSA. (6.3 работает в VirtualBox)

Проблема может быть в том, что основные разрешения selinux неверны. Restorecon не поможет в этом случае.

(After restorecon)
drwx------. postgres postgres unconfined_u:object_r:var_lib_t:s0 .ssh

Я исправил это с помощью:

chcon -R -t ssh_home_t .ssh

Это решило этот случай проблемы.

Приведенный выше ответ довольно хороший, у меня есть дополнение и предложение. Дополнение находится в строке 2 ниже, так как права доступа к домашнему каталогу не должны быть более разрешающими, чем rwxr-x--- для аутентификации по ключу ssh.

cd ~
chmod g-w,o-rwx .
chmod 700 .ssh
cd .ssh
chmod 600 *
chmod 644 authorized_keys
chmod 644 known_hosts
chmod 644 config
restorecon -R -v ../.ssh

Рекомендуется использовать опцию -vv при тестировании.

У меня тоже была такая же проблема, предложенное выше решение не решило дело за меня. Чтобы подвести итог инструкции вместе:

  1. Проверьте следующий файл журнала в целевой системе на предмет возможных деталей ошибок: /var/log/secure
  2. Разрешение для файлов в каталоге users ~/.ssh должно быть 600, а файлы должны принадлежать "user:group"
  3. Разрешение каталога ~ /.ssh должно быть 700 и принадлежать "user:group"
  4. Разрешение домашнего каталога пользователя т.е. "~" (="~/.ssh/..") должно быть 755. Если права доступа - f.ex 775, аутентификация с помощью ssh-ключа не удалась в моей системе.

бру бруно

Другие вопросы по тегам