tech-tips/Связь, сети и удалёнка/SSH/Как исправить ошибку SSH no matching host key type found. Their offer ssh-rsa.md

2.2 KiB
Raw Blame History

source
https://axenov.dev/как-исправить-ошибку-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).