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 .

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

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

  • Почему мой Linux не отображает дату последнего входа?
  • Перенаправить серверный сервер SSH
  • Какова цель ssh-agent?
  • Почему «sshd Bad prime description» ошибки?
  • Journalctl прекратил протоколирование после переполнения и перезагрузки
  • Медленное соединение SSH на встроенной платформе
  • Как исправить SSH на OSX?
  • Где мои журналы 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

    Какие разрешения нужно запускать командой chmod, chown в папке / элементе?

    Linux iptables DNAT 53306 до 127.0.0.1 3306

    Altermime и SELINUX

    initrd, построенный с помощью NFS-модуля, не может монтировать NFS-корневой

    Менеджер пакетов / установщик на базе Git для Linux

    Как проще задавать задачи для пакета, используя инструмент префикса команд?

    Разделение содержимого файла на другие файлы на основе значения синтаксического анализа в файле

    Как изменить размер только пропущенных изображений?

    Как перейти на обычного пользователя в командной строке при входе в систему как пользователь root?

    Как получить список установленных пакетов, уязвимых для удаленной атаки на debian?

    Причина для хранилищ безопасности в Debian?

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

    Как я могу запретить умирать скрипту, если идентификатор процесса не существует?

    crypttab и veracrypt

    Остановить жесткий диск, если он подключен через USB-адаптер

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