SSH: “Сервер отказался от нашего ключа” без причины

rm -rf -- * .*

Это портативно и работы, но это ужасно, потому что кроме с zsh, это выдает предупреждения:

rm: cannot remove directory: `.'
rm: cannot remove directory: `..'
6
19.09.2014, 19:35
6 ответов

очевидная проверка

  • формата authorized_keys ssh-rsa AA ... long_line_of_char комментарий putty gen иногда дает другую форму.

  • авторизация:

    • ~ user / .ssh / authorized_keys is -rw-r - r -
    • ~ user / .ssh / is drwx ------
    • ~ user is not world доступный для записи. Ключ
  • может быть развернут id ~ root или in ~ user в зависимости от пользователя, к которому вы подключаетесь.

некоторые менее очевидные:

  • root не может быть подключен к ssh'd. ( PermitRootLogin № или комментарий)
  • расположение по умолчанию для authorized_keys AuthorizedKeysFile% h / .ssh / authorized_keys

    • , то есть .ssh в домашнем каталоге пользователя.
  • пример настраиваемого местоположения для authorized_keys AuthorizedKeysFile /foo/bar/authorized_keys.%h

    • , то есть ключей, находится в директории / foo / bar .
    • в файле authorized_keys.root для root
    • в файле authorized_keys.user для пользователя, файл принадлежит пользователю root
2
27.01.2020, 20:23

Некоторые возможные причины, которые я знаю, связаны с разрешениями на файлы в основном слишком широкие и В частности, я могу вспомнить две причины

  1. выставляя каталог /home/user более чем владельцу
  2. .ssh и/или разрешения на файлы authorized_keys (установите их на 700/600 соответственно, если их больше)

точная причина отказа от ключа при запуске дополнительного sshd-сервера на другом порту с опциями отладки и без демонтажа если у вас есть корневой доступ к серверу, вы можете run:

sudo `which sshd` -p 2020 -Dd

на сервере

После того, как вы оставите запущенный ssh на нем:

ssh -p 2020 -i /path/to/refusedkey

На выходе сервера будет указана причина отказа

.
8
27.01.2020, 20:23

Из журнала «Запущенные вами журнал сервера отладки» выглядит как ключ, который вы указали на стороне клиента, просто не совпадает с любым доступным в /testuser/.ssh/authorized_keys.

Если /testuser/.ssh/authorized_keys - ожидаемое местоположение, которое вы должны проверить, что есть линейка открытых ключей, которые соответствуют вашему закрытому ключу, используемым на стороне клиента - То есть если вы используете, id_rsa на клиенте проверяют id_rsa.pub рядом с ним совпадает со одной из строк в /testuser/.ssh/authorized_keys.

Если вы сомневаетесь в файле averalize_keys authorize_keys на сервере, вы должны определить, если вы укажете правильное имя пользователя на стороне клиента.

0
27.01.2020, 20:23

В моем случае я решил эту проблему следующим образом:

chmod 700 myuserdir/.ssh
chmod 600 myuserdir/.ssh/authorized_keys

На компьютере windows вместо использования puttygen для генерации закрытого ключа rsa я загрузил cygwin с сайта cygwin.org. По умолчанию он предлагает несколько пакетов. Я изменил пакет Net, чтобы установить OpenSSH. Это установило, среди прочего, программу ssh-keygen. Итак, я запустил:

  • ssh-keygen -t rsa и оставил пароль пустым
  • Это создало закрытый ключ с именем id_rsa в c:/cygwin/home/myusername/.ssh
  • Я запустил puttygen и выбрал опцию меню "File -> Load private key" и выбрал ваш id_rsa (не открытый id_rsa.pub).
  • Сохраните его в формате putty, нажав на кнопку "Save Private Key" (я назвал его putty.ppk)
  • Запустите putty и выберите Connection -> SSH -> Auth -> Private key for authentication. Введите сгенерированный putty.ppk.
  • Введите свое имя пользователя в putty: Connection -> Data -> Auto-login username

Теперь я могу подключиться, не вводя ни пользователя, ни пароля.

0
27.01.2020, 20:23

Выполните:

sudo `which sshd` -p 2020 -Dd

от имени root в одном сеансе и в другом сеансе выполните:

ssh -p 2020 -i /path/to/refusedkey refusedkeyusername@hostname

Это помогло мне найти причину. Разрешения моего userid не были установлены на 700. Я получил o/p как показано ниже

debug1: trying public key file /home/userid/.ssh/authorized_keys
debug1: fd 4 clearing O_NONBLOCK
Authentication refused: **bad ownership** or modes for directory /home/sapadmin
debug1: restore_uid: 0/0
Failed publickey for userid from 172.31.2.12 port 27382 ssh2: RSA 
Connection closed by 172.31.2.12 [preauth]
1
27.01.2020, 20:23

ok! Одна из причин в том, что домашний каталог пользователя из файла passwd не является каталогом, из которого вы хотите скопировать файлы. Только root может копировать из каждого каталога, другие пользователи - нет!

например, если вы хотите скопировать из каталога /backup, убедитесь, что домашний каталог пользователя, которого вы хотите аутентифицировать, установлен в /backup (принадлежит ему), чтобы scp нашел правильный путь к authorized_keys "/backup/.ssh/authorized_key"

второе: убедитесь, что вы скопировали в файл authorized_keys именно текст из Putty Key Generator с "ssh-rsa AA...." в одну строку. вы можете удалить любой комментарий типа "rsa-key-xxx..." из конца. В файле authorized_keys должен быть собственный пользователь/группа удачи!

0
27.01.2020, 20:23

Теги

Похожие вопросы