====== 2022.03.08 SSH Error no hostkey alg ====== 古いOSからSSHした時に、下記のエラーで接続できない場合がある RHEL6 から RHEL8とか RHEL6側がECDSA 接続に対応する必要がある。 makeとかする必要はありますが、[[#3.クライアントのSSHを新しくする]] が一番シンプルかもしれません。 ===== エラー ===== $ ssh 10.10.0.25 no hostkey alg ===== 対応 ===== ==== 1.ECDSAの鍵を作成する方法 ==== ssh-keygen -t ecdsa -b 256 秘密鍵と公開鍵はこれ $ ls .ssh/id_ecdsa* .ssh/id_ecdsa .ssh/id_ecdsa.pub ==== ECDSAで接続する設定 ==== パスワード認証はこれでいける。 ECDSAで接続するように設定してあげれば接続可能 Host 10.10.0.25 HostKeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 ==== ワイルドカードも利用できる ==== Host 10.10.10.* HostKeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 ===== 2.サーバ側で対応 ===== ==== sshd_configへ追加 ==== cat << __EOM__ >> /etc/ssh/sshd_config HostKeyAlgorithms +ssh-rsa PubkeyAcceptedKeyTypes +ssh-rsa __EOM__ ==== sshd再起動 ==== systemctl restart ssh.service ===== 3.クライアントのSSHを新しくする ===== ここから、新しいopensshをダウンロード [[http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/]] $ tar zxvf openssh-8.0p1.tar.gz $ cd openssh-8.0p1 $ ./configure $ make # cp ssh /usr/local/bin/ssh エイリアスに書いておく $ cat .bashrc alias ssh='/usr/local/bin/ssh' $ ssh -V OpenSSH_9.2p1, OpenSSL 1.0.2k-fips 26 Jan 2017 {{tag>日記 SSH}}