OpenSSHをアップデートしたら古いサーバにログインできなくなった時の対処

最新の OpenSSHはデフォルトで古いハッシュアルゴリズムを受け付けないようになった

[OpenSSH 8.8](https://www.openssh.com/txt/release-8.8)から、デフォルトでは[SHA-1ハッシュアルゴリズム](https://ja.wikipedia.org/wiki/SHA-1)を使ったRSA署名を受け付けなくなった。この変更が原因で、古いサーバにSSHでログインしようとすると ```text Unable to negotiate with xxx.xxx.xxx.xxx port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss ``` のようなエラーで拒否される。この場合、```~/.ssh/config``` にて ```text Host old-host.yourdomain.com HostkeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa ``` のようにして回避できる。ただし無論これはその場しのぎの対処であって、将来のバージョンで本格的に SHA-1への対応が削除されないとも限らない。SHA-1で署名された鍵を使用するようなバージョンの OpenSSHを使用している OS(e.g. RHEL/CentOS 6)は既にEOLを迎えているはずなので、サーバを新しくするべきだ。