原因
Unable to negotiate with HOSTNAME port 22: no matching host key type found. Their offer: ssh-rsa
OpenSSHの最近のアップデートでSHA1 + RSA署名がデフォルトで無効化された。 SHA-256/512 + RSAの署名はデフォルトでサポートしている。
サーバとクライアントのネゴシエーションにおいて、サーバ側のSSHの実装が古いとSHA1 + RSAぐらいしか共通して喋れるアルゴリズムがなかったりする。
対処
サーバ側のOpenSSHも更新したいが、事情によってはできないことがある。
その場合にはクライアント側のconfigのホストごとの設定に以下を追加する。
Host foo HostkeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa
一度だけしか接続しないホストなら、sshコマンドのオプションで指定することもできる。
-o 'HostKeyAlgorithms=+ssh-rsa'
詳しくは公式のリリースノートを読め。