I get the error "no matching host key type found. Their offer: ssh-rsa" when trying to connect with SSH

I get the error "no matching host key type found. Their offer: ssh-rsa" when trying to connect with SSH

This error happens when using Android 8.1 or below images. These images use an old version of ssh server. This old ssh server requires extra settings when using OpenSSH >= 8.8 ssh clients.

> Note: > This should not happen with Android 9.0 or higher. > If this is the case, it probably means that your instance is using an image from an old version of Genymotion Device Image (<13.2.0). > Please upgrade your instance(s) to ver.14.0.0 or higher if possible. > New releases include important bugs and critical security fixes.

Workaround: add SSH options to your SSH command

Add the following options to your ssh command:

-o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa

For example:

ssh -i key.pem shell@3.252.167.165 -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa

Workaround: add settings in your SSH config file

Add the following in your ssh config file, /etc/ssh/ssh_config:

HostKeyAlgorithms = +ssh-rsa
PubkeyAcceptedAlgorithms = +ssh-rsa

Alternative: use a different algorithm when creating your key pair

Use a different algorithm when creating your key pair.

Please refer to your Cloud provider documentation for supported algorithms.