ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как решить ошибку “Disconnected: No supported authentication methods available (server sent: publickey)” с Ubuntu в AWS EC2

Решение этой ошибки стоило много времени, чтобы решить ее, и не смогли найти решение для нее в Интернете, но после некоторой помощи от поддержки AWS нам удалось ее решить, поэтому мы делимся ею, надеясь, что это поможет другим.

Предпосылка

Мы пытались подключиться к Ubuntu AWS EC2 через PuTTy (мы пробовали и другие альтернативы), но когда мы это делаем, то получаем сообщение об ошибке «Disconnected: No supported authentication methods available (server sent: publickey)»

Как решить ошибку Disconnected No supported authentication methods available (server sent publickey) с Ubuntu в AWS EC2

 

Как решить ошибку Disconnected No supported authentication methods available (server sent publickey) с Ubuntu в AWS EC2

 

Поиск проблемы

Эта ошибка может возникать при следующих обстоятельствах:

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

Если вы используете PuTTY:

Убедитесь, что закрытый ключ SSH соответствует закрытому ключу, который вы видите в столбце «Имя ключа» для вашего экземпляра EC2 в консоли. Если ваш экземпляр основан на ОС Ubuntu, имя пользователя по умолчанию должно быть ubuntu.

Убедитесь, что файл приватного ключа (.pem) преобразован в формат, распознанный PuTTY (.ppk). Дополнительные сведения см. В разделе Преобразование личного ключа с помощью PuTTYgen.

В нашем случае мы случайно выполнили команду sudo chmod -R 777. для каталога EC2 «/home/ubuntu», поэтому это привело к отказу доступа к EC2, и неправильное разрешение было похоже на следующее:

Как решить ошибку Disconnected No supported authentication methods available (server sent publickey) с Ubuntu в AWS EC2

Неправильная разрешающая способность EC2

 

Между тем, правильное разрешение должно быть таким:

Как решить ошибку Disconnected No supported authentication methods available (server sent publickey) с Ubuntu в AWS EC2

Право доступа EC2

 

Чтобы решить эту проблему, нам пришлось создать экземпляр восстановления в том же AZ, что и поврежденный экземпляр (в случае выбора другого неправильного AZ вы не сможете использовать + прикреплять тома от подверженного воздействия экземпляра, который должен быть прикреплен + монтирован на экземпляр восстановления для работы над разрешениями).

  1. Создайте EC2 в одной и той же зоне доступности затронутого экземпляра
  2. Остановите затронутый экземпляр.
  3. Отсоедините том затронутого экземпляра
  4. Прикрепите том к новому экземпляру восстановления
  5. Подключитесь к экземпляру восстановления
  6. Смонтируйте том на экземпляре восстановления, как показано ниже.

sudo mkdir /mountpoint
cd ../
lsblk # to know where the new volume is attached, in my case "/dev/xvdf1"
sudo mount /dev/xvdf1/mountpoint # mount step
/dev/xvdf1 # this gave me permission denied
cd /mountpoint/var/log
ls
nano auth.log

 

Это покажет вам причину ошибки, которая является “Authentication refused: bad ownership or modes for file /home/ubuntu/.ssh/authorized_keys”

Как решить ошибку Disconnected No supported authentication methods available (server sent publickey) с Ubuntu в AWS EC2

 

ls -l /mountpoint/home/ubuntu/.ssh/authorized_keys

Как решить ошибку Disconnected No supported authentication methods available (server sent publickey) с Ubuntu в AWS EC2

 

sudo chmod 600 /mountpoint/home/ubuntu/.ssh/authorized_keys

 

чтобы убедиться, что разрешение было обновлено

ls -l /mountpoint/home/ubuntu/.ssh/authorized_keys

 

следующий шаг:

ls -ld /mountpoint//home/ubuntu/.ssh/
sudo chmod 700 /mountpoint/home/ubuntu/.ssh

ls -ld /mountpoint//home/ubuntu
sudo chmod 755 /mountpoint/home/ubuntu/

ls -ld /mountpoint//home/ubuntu

ls -ld /mountpoint//home/

 

Следующее:

Как решить ошибку Disconnected No supported authentication methods available (server sent publickey) с Ubuntu в AWS EC2

Как решить ошибку Disconnected No supported authentication methods available (server sent publickey) с Ubuntu в AWS EC2

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

Exit mobile version