ssh с ключом rsa запрашивает пароль

У меня есть сервер с операционной системой Ubuntu 14.04 x64.

Часть моего файла sshd_config ( весь файл ):

 Port 2202 Protocol 2 PermitRootLogin without-password StrictModes yes RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile /etc/ssh/keys/%u/authorized_keys RhostsRSAAuthentication no PermitEmptyPasswords no ChallengeResponseAuthentication no #PasswordAuthentication yes UsePAM yes 

В папке /etc/ssh/keys каждого системного пользователя есть своя папка с файлом authorized_keys :

 ls -l /etc/ssh/keys drw------- 2 test.com test.com 4096 Nov 20 06:53 test.com drw------- 2 root root 4096 Nov 20 02:29 root 

Разрешения этих файлов authorized_keys верны:

 ls -l /etc/ssh/keys/* /etc/ssh/keys/test.com: total 4 -r-------- 1 test.com test.com 960 Nov 20 07:17 authorized_keys /etc/ssh/keys/root: total 4 -r-------- 1 root root 395 Nov 20 02:29 authorized_keys и ls -l /etc/ssh/keys/* /etc/ssh/keys/test.com: total 4 -r-------- 1 test.com test.com 960 Nov 20 07:17 authorized_keys /etc/ssh/keys/root: total 4 -r-------- 1 root root 395 Nov 20 02:29 authorized_keys 

У меня есть тот же публичный id_rsa в файле authorized_keys root и test.com.
Я могу войти с помощью root через ssh, но с test.com мне будет предложено ввести пароль.

Вот информация об отладке при попытке подключения с пользователем test.com:

 debug1: Next authentication method: publickey debug1: Offering RSA public key: /Users/Ivan/.ssh/id_rsa debug1: Authentications that can continue: publickey,password debug1: Trying private key: /Users/Ivan/.ssh/id_dsa debug1: Next authentication method: password 

Когда я пытаюсь войти в систему с правами root, мне это удастся:

 debug1: Next authentication method: publickey debug1: Offering RSA public key: /Users/Ivan/.ssh/id_rsa debug1: Server accepts key: pkalg ssh-rsa blen 279 debug1: Authentication succeeded (publickey). 

У меня Googled много вещей. Не удалось найти ничего, что позволило бы решить мою проблему.

У меня есть сценарий, который создает системных пользователей, использующих команду useradd и эти пользователи по умолчанию не имеют паролей. Я обнаружил, что пользователи системы без пароля не могут войти через ssh, поэтому я добавил пароль для пользователя test.com. Не работает.

Я видел, что UsePAM yes может быть проблемой. Я установил его в UsePAM no . Не работает.

И да, я service ssh restart после каждого изменения файла sshd_config .

Кажется, я все пробовал, и теперь я не знаю.

Любая помощь будет оценена!

  • Как избежать вызова «startx» при входе в ssh
  • Показать полные настройки sshd
  • Может ли sshd ограничить конечные точки клиентского туннеля на localhost?
  • Подозрительная сетевая активность: sshd proces появляется с lsof
  • Проблема подключения SSH / SCP | Потерянное соединение
  • SSH - соединение закрыто после правильного входа в систему
  • Не удается войти через ssh
  • Использование конфигурации PAM и конфигурации SSHD вместе
  • 2 Solutions collect form web for “ssh с ключом rsa запрашивает пароль”

    У меня была такая же проблема, и я обнаружил, что SELinux не позволяет читать доступ к /usr/bin/sshd при попытке удаленного доступа для некоторых пользователей. Обычно для пользователей, у которых нет домашней папки в /home/ . Вы можете запустить

     cat /var/log/messages | grep -i ssh 

    на целевом сервере , и вы должны увидеть аналогичную строку, указывающую на ошибку:

     <Date/Time> <hostname> python: SELinux is preventing /usr/sbin/sshd from read access on the file authorized_keys.#012#012***** Plugin catchall (100. confidence) suggests **************************#012#012 If you believe that sshd should be allowed read access on the authorized_keys file by default.#012Then you should report this as a bug.#012 You can generate a local policy module to allow this access.#012Do#012allow this access for now by executing:#012# ausearch -c 'sshd' --raw | audit2allow -M my-sshd#012# semodule -i my-sshd.pp#012` 

    Вы можете редактировать разрешения SELinux для разрешения ssh-подключений или просто отключить его (менее безопасный), чтобы обойти это.

    sshd очень придирчив, когда дело доходит до разрешений!

    Кажется, что разрешения каталога /etc/ssh/keys/test.com/ неверны! В настоящее время каталог читается / записывается, но не может быть введен. chmod u+x /etc/ssh/keys/test.com/ && chmod o+rx /etc/ssh/keys должны решить вашу проблему. Хотя root может войти в каталог, я предполагаю, что sshd проверяет, чтобы восьмеричные разрешения были 0700 или 0755 + 0600 для файла authorized_keys. Особенно, когда StrictMode yes .

    Без права доступа к каталогу и правильных разрешений файл authorized_keys не может быть прочитан или игнорируется sshd из соображений безопасности.

    Interesting Posts

    Почему незащищенный пользователь может выполнить команду `sync`?

    Найти физическое расположение USB-порта?

    Проблема с памятью: малина Pi

    Подстановочный знак «Bash star *» всегда создает (по возрастанию) отсортированный список?

    Не удается найти Krita в меню «Пуск» (Linux Mint)

    Почему не следует сообщать, что родительский shell fork () дочерний процесс перед execve () командой?

    Есть ли «обратное судо»?

    Ярлык щелчка правой кнопкой мыши (Shift f10) не работает в некоторых приложениях

    Что называется строкой Bash {end1, end2} и что эквивалентно в zsh?

    Запустите sudo в качестве другого пользователя без полномочий root и сохраните его в домашнем каталоге этого пользователя

    Вернитесь в X-сеанс после Ctrl + Alt + F1

    Имя файла, начинающееся с – (тире)

    Как получить gcc-4.7 в /usr/bin/gcc-4.7 как второй gcc в Debian Jessie?

    Выполнить ./script.sh vs bash script.sh – отклонено разрешение

    Kali linux запускает airbase-ng вместе с wpa_supplicant

    Linux и Unix - лучшая ОС в мире.