SSH из PuTTy в Debian «authorized_keys - это не обычный файл» Ошибка

9

Я не могу подключиться с компьютера под управлением Windows 7, используя PuTTy, к недавно настроенному серверу Debian Squeeze с использованием аутентификации по ключу SSH RSA.

Я получаю эту ошибку при запуске SSH в режиме отладки: User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file


Что я сделал до сих пор:

  1. ssh-keygen -t rsa
  2. Установить пароль.
  3. Скопировал файл id_rsa.pub в ~/.ssh/authorized_keys
  4. Скопировал id_rsa в текстовый файл на моем компьютере с Windows 7
  5. Импортировал ключ в puttygen.exeи преобразовал его в .ppkфайл закрытого ключа.
  6. Загрузил этот файл с закрытым ключом pageant.exeи убедился, что в методах Connection-> SSH-> Auth Authetification проверена «Попытка аутентификации с использованием Pageant».
  7. Загрузил профиль.

Исходя из часто задаваемых вопросов от OpenSSH.org , я изменил разрешения на следующее:

drwxr-xr-x 3 root   root   4096 Aug 13 14:16 /home
drwxr-xr-x 7 myuser myuser 4096 Aug 17 12:55 /home/myuser
drwx------ 3 myuser myuser 4096 Aug 17 13:24 /home/myuser/.ssh
drw------- 2 myuser myuser 4.0K Aug 17 13:23 /home/myuser/.ssh/authorized_keys
-rw------- 1 myuser myuser  396 Aug 17 13:17 /home/myuser/.ssh/authorized_keys/id_rsa.pub

Я запустил режим отладки по ssh и получил следующее:

debug1: userauth-request for user myuser service ssh-connection method publickey
debug1: attempt 1 failures 0
debug1: test whether pkalg/pkblob are acceptable
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/myuser/.ssh/authorized_keys
User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file
debug1: restore_uid: 0/0
Failed publickey for myuser from 10.1.1.1 port 50710 ssh2

Я в растерянности, что еще проверить. Я не настроил SELinux или что-то еще. Любые идеи будут высоко оценены.

tacotuesday
источник

Ответы:

15

Проблема в:

User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file

Похоже, вы создали каталог с именем authorized_keysи поместили в него все свои ключевые файлы. Вот почему это не работает. authorized_keysдолжен быть обычным файлом, и вы можете положить все свои ключи в ~/.ssh.

Майкл Хэмптон
источник
7

Основная проблема в том, что ~/.ssh/authorized_keysне должно быть каталога. Это текстовый файл, который содержит открытые ключи, добавленные одну строку за другой.

Поскольку у вас есть только один ключ, просто переместите ~/.ssh/authorized_keys/id_rsa.pubфайл во временную ~/.ssh/authorized_keysпапку, удалите каталог, а затем переместите обратно файл открытого ключа, переименовав его в ~/.ssh/authorized_keys. Теперь вы сможете подключиться без использования пароля для входа.

Филипп Готье
источник