Подключение к серверу Google «Отключено: нет доступных поддерживаемых методов аутентификации (сервер отправлен: открытый ключ)

Я пытаюсь подключиться к моему серверу Debian Google Compute Engine через PuTTy (я также пробовал другие альтернативы), но когда я это делаю, я получаю сообщение об ошибке «Отключено: нет доступных поддерживаемых методов аутентификации (сервер отправлен: открытый ключ)

Сервер Google пришел без имени пользователя и пароля, только URL-адрес для автоматического входа в свой собственный терминал.


person user3050859    schedule 29.11.2013    source источник


Ответы (17)


У меня работал PuTTY, а потом в один прекрасный день я получил эту ошибку.

Решение: я изменил путь к папке, содержащей мои сертификаты (закрытые ключи), и это привело к тому, что Pageant потерял отслеживание сертификатов и поэтому был пуст.

Как только я переустановил сертификат в Pageant, Putty снова заработала.

person Elliptical view    schedule 17.01.2014
comment
Было бы неплохо, если бы SDK Compute Engine упомянул, что вам нужно запустить pageant в первую очередь. Я совершенно забыл, что вам нужно запустить это приложение и добавить к нему сгенерированный ключ SSH. - person Gili; 13.11.2014
comment
@ Гили, вам не обязательно ... Вы можете указать ключ в PuTTY в разделе Connection->SSH->Auth. Вам будет предложено ввести пароль закрытого ключа - person Basic; 08.07.2015
comment
или просто добавьте закрытые ключи в конкурс, и все готово. - person Andrew; 18.07.2016

Включите аутентификацию по паролю

По умолчанию вам нужно использовать ключи для подключения по ssh к вашему компьютеру с вычислительной машиной Google, но вы можете включить аутентификацию по паролю, если вам не нужен такой уровень безопасности.

Совет. Используйте параметр SSH Открыть в окне браузера в облачной консоли, чтобы получить доступ к машине. Затем переключитесь на пользователя root с помощью sudo su - root, чтобы внести указанные ниже изменения в конфигурацию.

введите описание изображения  здесь

  1. Отредактируйте файл /etc/ssh/sshd_config.
  2. Замените PasswordAuthentication и ChallengeResponseAuthentication на yes.
  3. Перезапустите SSH /etc/init.d/ssh restart.
person Nate    schedule 21.11.2014
comment
Теперь он запрашивает пароль при использовании gcloud? Я не понимаю, что это. - person Abhishek Bhatia; 09.02.2015
comment
Это НЕ является хорошей идеей, поскольку вы увеличиваете вероятность того, что ваш экземпляр будет скомпрометирован атаками грубой силы. Пожалуйста, никогда не используйте это в рабочей среде только на тестовом экземпляре или в качестве короткого обходного пути, чтобы получить правильные ключи! - person Feczo; 23.02.2015
comment
Чтобы перезапустить ssh в CentOS 7, вы можете использовать $ service sshd restart - person imbayago; 07.06.2017
comment
просто для сведения, если включена аутентификация по паролю, какой будет пароль? - person Dev G; 05.01.2018
comment
@DevG обычно находится в провайдере. Для меня это файл .pp, так как я использую puppet для подготовки. Однако это следует использовать только для разработки, а не для жизни, поскольку оно жестко запрограммировано. - person ploopploop; 17.01.2018
comment
OP никогда не указывает, что он владеет сервером, и, учитывая, что он не может войти в систему, он, вероятно, этого не делает. Так что это не отвечает на вопрос. - person kingledion; 22.05.2018
comment
Спасибо, наконец-то заработало! но я использовал service sshd restart для перезапуска ssh вместо /etc/init.d/ssh restart - person General Omosco; 19.08.2018

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

Документация GCE объясняет этот процесс здесь.

person Thomas Orozco    schedule 30.11.2013

Следуйте этому руководству: https://gist.github.com/feczo/7282a6e00181fde4281b с изображениями.

Короче:

Используя Puttygen, нажмите «Создать», переместите мышь в соответствии с инструкциями и подождите.

  • Введите желаемое имя пользователя

  • Введите ваш пароль

  • Сохраните закрытый ключ

Скопируйте все содержимое окна 'Открытый ключ для вставки в файл author_keys OpenSSH'. Обязательно скопируйте каждый символ от начала до самого конца!

Перейдите на страницу Создание экземпляров в консоли Google Cloud Platform и в по ссылке дополнительных параметров вставьте содержимое вашего открытого ключа.

Запишите IP-адрес экземпляра после его завершения. Откройте шпатлевку, в меню слева перейдите в Connection / SSH / Auth и укажите местоположение файла ключа, который был сохранен.

В меню слева перейдите в «Подключение/Данные» и укажите то же имя пользователя.

  • Введите IP-адрес вашего экземпляра
  • назовите соединение ниже сохраненных сеансов как «GCE», нажмите «Сохранить».
  • дважды щелкните запись «GCE», которую вы только что создали
  • принять личность хоста

Теперь войдите с паролем, который вы указали ранее, и запустите sudo su — и все готово.

person Feczo    schedule 07.08.2014
comment
не могли бы вы исправить основную ссылку, так как она кажется неработающей... спасибо - person vidriduch; 14.04.2016

У меня была та же проблема, но она заработала, изменив enable-oslogin с TRUE на FALSE в облаке Google.

из:

на: введите здесь описание изображения

person Sgedda    schedule 15.12.2018
comment
Я нахожу это озадачивающим, потому что инструкции от Google начинаются с указания установить для него значение TRUE. Чтобы предоставить экземпляру SSH-ключ, используйте один из следующих способов: (Рекомендуется) Включите вход в ОС и используйте роли IAM для предоставления открытого SSH-ключа экземпляру через учетную запись Google или управляемую учетную запись пользователя. - person Eddie Rowe; 07.04.2020

У меня была такая же проблема, и я только что понял это !!

Предполагая, что вы уже пошли и создали закрытый/открытый ключ, добавили свой открытый ключ на удаленный сервер... введите имя пользователя@remotehost.com, а ЗАТЕМ перейдите в «Подключение» -> «SSH» -> «Аутентификация» и нажмите «Обзор», чтобы найти свой закрытый ключ. После выбора он заполнит поле ввода. После этого нажмите ОТКРЫТЬ...

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

person shabany    schedule 15.11.2014

По-видимому, запуск sudo chmod -R a+rw в вашей домашней папке также приводит к тому, что это происходит.

person futilerebel    schedule 24.10.2014

Я получил эту ошибку, потому что забыл добавить свое имя пользователя за ключом в разделе метаданных GCE. Например, вы должны добавить запись в раздел метаданных, которая выглядит следующим образом:

sshKeys    username:key

Я забыл часть username:, и поэтому, когда я попытался войти с этим именем пользователя, я получил ошибку «Нет поддерживаемых методов аутентификации».

Или, чтобы полностью отключить требование ключа ssh, ознакомьтесь с моим другим ответом.

person Nate    schedule 21.04.2014

Эта проблема в основном вызвана тем, что ваше подключенное имя пользователя не имеет доступа к оболочке в GCE. Таким образом, вы используете следующие шаги для решения этой проблемы.

gcloud auth list

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

gcloud auth revoke --all
gcloud auth login [your-iam-user]

и вы получаете токен, или он автоматически обнаруживает токен.

gcloud compute --project "{projectid}" ssh --zone "{zone_name}" "{instance_name}" .

если вы не знаете эту строку выше, нажмите на compute engine-> ssh dropdown arrow-> view google command-> copy этот код и используйте его

Теперь он обновляет ваши метаданные и доступен в папке вашего компьютера Users->username

~/.ssh/google_compute_engine.ppk
~/.ssh/google_compute_engine.pub

Затем вы создаете новый файл ppk, используя puttygen, и даете имя пользователя, которое вы хотите, например my_work_space. Затем сохраните открытый ключ и закрытый ключ в папке.

Следующий шаг: Скопируйте данные открытого ключа из puttygen и создайте новый ключ ssh в метаданных gcloud.

cloud console ->compute engine->metadata->ssh key->add new item->paste the key and save it

и теперь верните инструмент командной строки оболочки, затем введите

sudo chown -R my_work_space /home/my_work_space

теперь вы подключаете этот закрытый ключ с помощью sftp в любом месте. и он открывает файлы, не показывая ошибок разрешения

:) счастливые часы.

person karthikeyan ganesan    schedule 02.03.2018

Если закрытый ключ был сгенерирован с помощью ssh-keygen в Linux, его необходимо преобразовать с помощью puttygen, поскольку Putty не поддерживает ключи openssh.

Запустите puttygen и нажмите «Конверсии» — «Импортировать ключ», затем нажмите «Обзор» и выберите закрытый ключ, сгенерированный с помощью openssh, затем нажмите «Сохранить закрытый ключ».

Используйте новый ключ для подключения.

person Antonio Ulloa    schedule 25.05.2017

Я столкнулся с той же проблемой и решил после нескольких проб и ошибок. В /etc/ssh/ssh_config установите

  • PubkeyAuthentication да

  • Файл авторизованных ключей .ssh/authorized_keys

  • ПарольАутентификация нет

  • Публичный ключ AuthenticationMethods

затем откройте замазку. В «Сохраненные сеансы» введите IP-адрес сервера, перейдите по пути Connection->SSH->Auth->Browse на левой панели, чтобы найти свой закрытый ключ и открыть его. И последнее, но не менее важное: вернитесь к сеансу шпатлевки на левой панели, и вы увидите, что IP-адрес сервера все еще находится в поле «Сохраненные сеансы», затем нажмите «Сохранить», что является важным шагом. Это позволит пользователю войти в систему без пароля больше. Радоваться, веселиться,

person codexplorer    schedule 03.01.2018

Загрузите «PuttyGEN», получите открытый ключ и закрытый ключ, отредактируйте gcloud SSH и вставьте свой открытый ключ, расположенный в /home/USER/.ssh/authorized_keys.

sudo vim ~/.ssh/authorized_keys

Нажмите клавишу i, чтобы вставить publicKEY. Чтобы сохранить, нажмите Esc, :, w, q, Enter. Отредактируйте файл /etc/ssh/sshd_config.

sudo vim /etc/ssh/sshd_config

Сдача

PasswordAuthentication no [...] ChallengeResponseAuthentication to no. [...] UsePAM нет [...] Перезапустите ssh

/etc/init.d/ssh перезапустить.

остальные настройте свою замазку как учебник. NB: лучше выберите конкурс, добавьте ключи и начните сеанс.

person Dongdong Ling    schedule 13.04.2018

Электричество отключилось и появилась эта ошибка. Решение состояло в том, чтобы дважды щелкнуть ваш .ppk (закрытый ключ Putty) и ввести свой пароль.

person geranimo    schedule 08.05.2018

PasswordAuthentication и ChallengeResponseAuthentication по умолчанию установлены в NO в rhel7.

Измените их на NO и перезапустите sshd.

person user2427719    schedule 15.12.2015

Аналогичная проблема - такое же сообщение об ошибке. Я получил такое же сообщение при попытке клонировать что-то из битбакета с помощью ssh. Проблема была в моей конфигурации ssh, настроенной в mercurial.ini: я использовал неправильное имя пользователя bitbucket. После того, как я исправил имя пользователя, все заработало.

person Nina    schedule 03.07.2018

Для меня это была моя проблема, решение от https://unix.stackexchange.com/questions/282908/server-refused-public-key-signature-despite-accepting-key-putty

«Просмотр журнала /var/log/secure показал, что он был просто категорически отклонен. Я несколько новичок в Centos, так как я в основном парень из Debian, поэтому я не знал о /var/log/secure

После проверки этого и небольшого поиска оказалось, что PermitRootLogin не обязательно должен быть PermitRootLogin без пароля, если вы хотите специально использовать только ключи для входа в систему root. Это помогло. Спасибо всем за участие».

person William    schedule 02.11.2018

Я знаю, что это старый вопрос, но у меня была та же проблема, и я решил ее благодаря этому ответу.

Я использую Putty регулярно и никогда не было никаких проблем. Я использую и всегда использовал аутентификацию с открытым ключом. Сегодня я не смог снова подключиться к своему серверу, не меняя никаких настроек.

Затем я увидел ответ и вспомнил, что случайно запустил chmod 777 . в домашнем каталоге моего пользователя. Я подключился из другого места и просто запустил chmod 755 ~. Все пришло в норму мгновенно, мне даже не пришлось перезапускать sshd.

Надеюсь, я сэкономил время от кого-то

person LuizLoyola    schedule 30.10.2019