No matching host key type found
Что случилось?
После обновления ssh клиента при попытке зайти на сервер, используя ключ, случается ошибка.
Unable to negotiate with hostname port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
Клиент мог обновиться у вас как зависимость при обновлении, например, git.
ssh -V
Новая версия SSH (с версии SSH 8.8p1) не включает по умолчанию поддержку RSA/SHA1, то есть ssh-rsa. Вместо этого ожидается, что сервер будет использовать RSA/SHA-256/512, вроде как это rsa-sha2-512.
С более новыми серверами, где свежий SSH, скорее всего проблемы не возникнет, но в данном случае хост старенький и было принято решение не обновлять SSH чтобы ошибку исправить.
Более подробная информация по проблеме есть https://www.openssh.com/releasenotes.html
Что делать?
К счастью поддержка RSA/SHA1 осталась и её можно включить, дописав соответствующий конфиг в `~/.ssh/config` (это конфиг клиента, если что)
Host <hostname> HostkeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa
Еще можно использовать *
чтобы применить настройка ко всем хостам.