Как исправить ошибку SSH: no matching host key type found. Their offer: ssh-rsa

Эта ошибка возникает при подключении к серверу, который принимает для аутентификации RSA-ключи, но используемый тобой ключ сгенерирован алгоритмом, отличным от RSA.

Всё очень просто: достаточно в локальном файле ~/.ssh/config указать следующее:

Host *
  # здесь могут быть и другие настройки, но важно добавить только эти:
  PubkeyAcceptedAlgorithms +ssh-rsa
  HostkeyAlgorithms +ssh-rsa

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

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

ssh-keygen -t rsa -b 4096

Программа будет просить у тебя дополнительные данные и парольную фразу. Они опциональны, всё можно протыкать Enter на каждый вопрос и оставить всё по дефолту (но это твоя совесть и ответственность).

После генерации ключа тебе необходимо его прописать на удалённой машине, к которой ты собрался подключаться. Для этого нужно скопировать содержимое файла ~/.ssh/id_rsa.pub (по умолчанию) в файл ~/.ssh/authorized_keys удалённой машины или использовать веб-интерфейс того сервиса, который позволяет тебе подключаться по SSH (например, GitHub).

А вообще, уже давно пора отказываться от RSA-ключей:


4 ответа

  1. Аватар пользователя Юрий
    Юрий

    Спасибо! Очень помогло!

  2. Аватар пользователя Сергей
    Сергей

    Помогло!
    Спасибо автору!

  3. Аватар пользователя Михаил
    Михаил

    спасибо

  4. Аватар пользователя Фара
    Фара

    ВЫ ГЕНИЙ!

Добавить комментарий

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