Попытка выполнить ssh-аутентификацию с ключевыми файлами: сервер отклонил наш ключ

У меня была подобная проблема. Вот мои детали:

  • ОС: Ядро Ubuntu 16.04
  • : 4.8.15
  • проблема порождения Устройства: Netgear WNA3100M
  • Проблема: Медленная интернет-скорость, никакое разрешение DNS, ненадежное соединение
  • Состояние после того, как проблема решила: Полная интернет-скорость, надежное соединение, без проблем с разрешением DNS

использование WNA3100M микросхема rtl8192 Wi-Fi. Проблема является кажущейся для появления, потому что универсальный драйвер Ubuntu для rtl8192cu микросхемы не способен в полной мере обработать WNA3100M.

, Как решить проблему:

Шаг 1:

Установка пользовательский драйвер для WNA3100M. Это заменит универсальный драйвер Ubuntu для rtl8192cu микросхемы с пользовательским драйвером, названным 8192cu.

, Чтобы сделать это, перейдите к этой ссылке и выполните все шаги в разделе Installation:

https://СИСТЕМА ПЕРЕЗАПУСКА github.com/pvaret/rtl8192cu-fixes

.

, Чтобы проверить, была ли установка успешна или нет, можно работать dkms состояние в терминале. Вывод должен сказать , установил для драйвера 8192cu. Вот мой вывод:

nirmal@datainsights:~$ dkms status
8192cu, 1.10, 4.8.15-040815-generic, x86_64: installed

Шаг 2:

Удостоверяются драйвер, установленный в загрузках шага 1. Ваш вывод lsmod должен показать 8192cu . Как это:

nirmal@datainsights:~$ lsmod | grep 8192cu
8192cu                532480  0

В то же время, rtl8192cu (универсальный драйвер Ubuntu) не должен загружаться, так выполнение после команды ничего не должно отдавать:

nirmal@datainsights:~$ lsmod | grep rtl8192cu

Read далее, если Ваш драйвер не загружается.

, Если Ваш драйвер 8192cu не загружается и Вы отключили rtl8192cu, Ваш WNA3100M не будет обнаружен, и Ваш Wi-Fi будет отключен.

Попытка, загружающая драйвер [1 142] modprobe 8192cu . Это возвращает ошибку? Если так, необходимо решить его и удостовериться тот драйвер загрузки.

В моем случае, драйвер не загружался из-за безопасного параметра загрузки в установке UEFI BIOS. Я отключил безопасный параметр загрузки в меню BIOS и драйвере, загруженном автоматически.

Пути к отключению безопасной начальной загрузки в UEFI:

  1. Отключают безопасный параметр загрузки из меню UEFI BIOS (нажатие F2 или DEL, когда запуски компьютера, идя в расширенный режим и т.д. Google с моделью Вашей материнской платы для обнаружения точных шагов)
  2. Используя mokutil пакет человечности (я не попробовал эту опцию)

, Короче говоря необходимо установить пользовательский драйвер и удостовериться, что это загружается.

53
задан 22.03.2020, 17:36

14 ответов

Хорошо, это исправлено, однако я не вижу, как это отличается от того, что я уже пробовал.

Что я сделал:

  • сгенерировали пару ключей с помощью puttygen.exe (длина: 1024 бита)
  • загрузили закрытый ключ в профиль PuTTY
  • введите открытый ключ в ~/.ssh/authorized_keys в одну строку (необходимо начинать с ssh-rsa)
  • chmod 700 ~/.ssh
  • chmod 600 ~/.ssh/authorized_keys
  • chown $USER:$USER ~/.ssh -R
  • изменить /etc/ssh/sshd_config, чтобы он содержал AuthorizedKeysFile %h/.ssh/authorized_keys
  • sudo service ssh restart

Для устранения неполадок выполните # tail -f /var/log/auth.log.

Спасибо за вашу помощь!

95
ответ дан 22.03.2020, 17:37

Фактически, я изменил разрешение authorized_keys на 644, тогда проблема решена.

chmod 644 ~/.ssh/authorized_keys
0
ответ дан 22.03.2020, 17:36

Я только что столкнулся с этой проблемой. Несмотря на то, что конфиг установлен правильно, как уже упоминалось в этой теме (права доступа на author_keys и т. Д.), Оказалось, что у меня был открытый ключ в неправильном формате. Это было в форме:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "imported-openssh-key"
AAAAB3NzaC1yc2EAAAADAQABAAABAQDUoj0N3vuLpeviGvZTasGQ...
... lPmTrOfVTxI9wjax2JvKcyE0fiNMzXO7qiHJsQM9G9ZB4Lkf71kT
---- END SSH2 PUBLIC KEY ----

, который не работал. Но все заработало, имея форму:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDU.....j0N3vuLpeviGvZTasGQa1rcJiPXQMW7v3uurb+n94B9MQaaWR0odsg5DJQL92TNenOda5BO1nd08y6+sdLQmHXExTz6X8FzgoVsAkEl3RscxcxHUksiKA9JfTo38vQvG/bPxIHMCuSumCQVA1laf3rO/uOrkcB7iMWhaoi1/z6AbFtPzeh7xjGfInMWwtBI0CsHSRF73VWIxT26w0P+KjafCjSn/7vDO1bT8QHujSQelU/GqaVEvbbvPl1a7POVjKgHLNekolwRKfNeVEewcnmZaoqfHgOKlPmTrOfVTxI9wjax2JvKcyE0fiNMzXO7qiHJsQM9G9ZB4Lkf71kT UserName@HOSTNAME
23
ответ дан 22.03.2020, 17:38

В дополнение ко всем приведенным выше ответам, убедитесь, что вы правильно скопировали и вставили ключ из puttygen!

Если вы просто дважды щелкнете по массе ключевой строки, чтобы выделить ее, вы можете не получить всю строку, потому что текстовое поле разбивает строки на некоторые символы, такие как +, так что вы не можете не выбирайте текст после символа + (который вы не видите, потому что текстовое поле слишком маленькое). Не забудьте выбрать всю строку вручную, от ssh-rsa до самого конца текстового поля.

1
ответ дан 22.03.2020, 17:39

Проблема в том, что в Windows используется новая новая строка , чем в Linux, поэтому при копировании ключа из Windows в Linux в конце строки появляется \ n , что Вы не можете увидеть на Linux в редакторе.

Если вы подключите /var/log/auth.log и попытаетесь войти в систему, ошибка будет выглядеть следующим образом:

sshd: ошибка: key_read: uudecode AAAAB3N [....] == \ n

Если вы измените свой ключ в Windows, чтобы он был в одной строке без новой строки в конце, а затем скопировали его в linux, он должен работать (сделал трюк для меня).

9
ответ дан 22.03.2020, 17:39

Я тоже столкнулся с этой ошибкой и решил ее, изменив права доступа файла author_keys на 600.

chmod 600 ~/.ssh/authorized_keys
1
ответ дан 22.03.2020, 17:40

Распространенная ошибка заключается в том, что люди используют текстовый редактор (например, Vim) и вставляют скопированный текст перед активацией «вставки» (нажмите + i в Vim перед вставкой)

1
ответ дан 22.03.2020, 17:41

Мне пришлось изменить разрешения каталога ~ / .ssh с 770 до 700, а разрешения файла ~ / .ssh / authorized_keys с 660 до 600.

По какой-то причине удаление групповых разрешений исправило эту проблему для меня.

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
6
ответ дан 22.03.2020, 17:42

Я создавал файлы .ssh и authorized_keys, когда входил в систему как пользователь root, что давало неправильные разрешения. Он также поместил все файлы в корневой каталог. Я считаю, что это корень многих проблем с «ключом отказано сервером».

Смена владельца этих файлов на пользователя, которого вы хотите, не будет хорошей практикой, поэтому я пересмотрел свои шаги и убедился, что вошел в систему как пользователь, с которым я хотел использовать SSH, и снова создал .ssh и authorized_keys. Ошибка.

Указания по подключению Win7 к серверу Xubuntu 15.04: Как создать SSH-ключи с Putty для подключения к VPS

-1
ответ дан 22.03.2020, 17:42

Вот что сработало для меня:

В puttygen, после того, как вы сгенерировали свои ключи, убедитесь, что вы скопировали и вставили информацию из верхнего поля, чтобы перейти в свой файл author_keys. Если вы сохраните свой открытый ключ на своем клиентском компьютере, а затем откроете его, текст будет отличаться от текста в верхней части экрана puttygen. Опять же, убедитесь, что вы копируете и вставляете текст из ВЕРХа экрана puttygen (после того, как вы создали свои ключи) в ваш файл author_keys, который должен находиться в ~/.ssh.

2
ответ дан 22.03.2020, 17:43

для меня проблема заключалась в том, что я создал ~/.ssh/authorized_keys, используя root, которым владеет root. Мне пришлось chown sshuser:sshuser ~/.ssh/authorized_keys, потом он начал работать

1
ответ дан 22.03.2020, 17:44

для отладки open ssh можно использовать:

sudo `which sshd` -p 2020 -Dd

он запускает sshd на другом порту 2020. Он запускает sshd как текущую программу, поэтому вывод выводится на экран. если закрыто, то закрыто.

Затем попытайтесь подключиться.

объяснение:

  • `which sshd` - находит адрес sshd, попробуйте выполнить, какой sshd увидит, что он печатает. при использовании обратных кавычек он выполняется и возвращает результат на месте.
  • -p 2020 - указывает порт
  • -D - запись в файл
  • -d - запись в экран

https: // www .attachmate.com / документация / rsit-unix-802 / rsit-unix-гид / данные / sshd_options_ap.htm

0
ответ дан 22.03.2020, 17:44

Иногда это может быть проблемой, связанной с наличием открытого ключа в одной строке, этот подход, кажется, решает ее

echo 'the content of the public key' > /root/.ssh/authorized_keys
1
ответ дан 22.03.2020, 17:45

Файл ~/.ssh/authorized_keys требует, чтобы ключи были все в одной строке. Если вы добавили его в несколько строк, как описано выше, попробуйте соединить строки.

5
ответ дан 22.03.2020, 17:46

Теги

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