サイドバー

このページの翻訳:



最近の更新



Tag Cloud

50_dialy:2022:03:08

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で接続するように設定してあげれば接続可能

.ssh/config

Host 10.10.0.25
    HostKeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521

ワイルドカードも利用できる

.ssh/config

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
50_dialy/2022/03/08.txt · 最終更新: 2023/05/25 08:05 by matsui