AlmaLinux9からCentOS6にSSHで接続しようとしたときのことです。
# ssh root@192.168.0.1 Unable to negotiate with 192.168.0.1 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss |
上記のようなメッセージが出て接続できませんでした。ただ、CentOS7には接続できました。
簡単に言うと接続先のSSHDが古いから接続できない、ということになり、とりあえず接続できるようにするには以下のように設定します。
# vi ~/.ssh/config Host * KexAlgorithms +diffie-hellman-group14-sha1 MACs +hmac-sha1 HostKeyAlgorithms +ssh-rsa,ssh-dss PubkeyAcceptedKeyTypes +ssh-rsa,ssh-dss PubkeyAcceptedAlgorithms +ssh-rsa |
ただ、これを設定しても以下のようなエラーがでてしまいます。
# ssh root@192.168.0.1 ssh_dispatch_run_fatal: Connection to 192.168.0.1 port 22: error in libcrypto |
これについては以下のようにSHA1ポリシーをアクティブ化します。非奨励ですが必要がある場合は仕方がないので実施します。
# update-crypto-policies --set DEFAULT:SHA1 Setting system policy to DEFAULT:SHA1 Note: System-wide crypto policies are applied on application start-up. It is recommended to restart the system for the change of policies to fully take place. |
この後、OSごと再起動するといけるようになりました。
https://pyopyopyo.hatenablog.com/entry/2022/11/02/180000