RedHat 6 / Oracle Linux 6 не разрешает аутентификацию по ключу через ssh - PullRequest
12 голосов
/ 16 марта 2012

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

И все же ssh продолжает запрашивать пароль.

Ответы [ 4 ]

29 голосов
/ 16 марта 2012

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

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

chown -R <user>:<group> ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
restorecon -R -v ~/.ssh
6 голосов
/ 05 февраля 2014

Я бы согласился с вышеизложенными изменениями, работающими на большинстве вариантов 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

Это решило эту проблему.

1 голос
/ 24 июня 2015

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

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

ш Брюно

0 голосов
/ 02 апреля 2012

Приведенный выше ответ довольно хороший, у меня есть дополнение и предложение. Дополнение находится в строке 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 при тестировании.

...