Ключи правильно размещены в ~/.ssh/authorized_keys
Однако ssh продолжает запрашивать пароль.
Ключи правильно размещены в ~/.ssh/authorized_keys
Однако ssh продолжает запрашивать пароль.
Несколько проблем, в основном привилегий, но также связанных с SELinux на RedHat 6
Следующий script должен исправить их все, замените <user>:<group>
на соответствующий идентификатор пользователя и группу
chown -R <user>:<group> ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
restorecon -R -v ~/.ssh
Я согласен с приведенными выше изменениями, работающими над большинством вариантов linux в корневой учетной записи. У меня была проблема с 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 при тестировании.
У меня была и эта же проблема, предлагаемое решение выше не разрешило мне это дело. Объяснить инструкции вместе:
ш Брюно