diffie-hellman-group1-sha1`の鍵交換方法を求めるサーバーにsshすることができません。
ssh 123.123.123.123
Unable to negotiate with 123.123.123.123 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
Debian 8.0 で diffie-hellman-group1-sha1
の鍵交換方法を有効にするには?
私は(提案されたここのように)次のことを試みました。
以下の行を /etc/ssh/ssh_config
に追加する。
KexAlgorithms diffie-hellman-group1-sha1,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
暗号 3des-cbc、blowfish-cbc、aes128-cbc、aes128-ctr、aes256-ctr
鍵の再生成には
ssh-keygen -A
sshを再起動する。
サービス ssh restart
を実行しますが、まだエラーが出ます。
OpenSSH のウェブサイトには、このような legacy issues に特化したページがあります。それによると、次のようなアプローチが提案されています、 クライアント側で。
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 123.123.123.123
または、より永続的に
Host 123.123.123.123
KexAlgorithms +diffie-hellman-group1-sha1
を ~/.ssh/config
に追加します。
これにより、古いアルゴリズムが*クライアント上で有効になり、サーバーへの接続が可能になります。
この方法を試してみましたが、最近アップグレードしたサーバー(ubuntu 14 -> ubuntu 16)に多くの(レガシー)クライアントが接続していることが問題でした。
openssh6 -> openssh7からの変更で、デフォルトで鍵交換方式のdiffie-hellman-group1-sha1
が無効になっていました。
これ](https://www.openssh.com/legacy.html)と[これ](https://www.howtoforge.com/community/threads/enable-diffie-hellman-group1-sha1-on-jessie.70764/#post-337033)を読んでを読んで、`/etc/ssh/sshd_config`ファイルに必要な変更点を思いつきました。
#Legacy changes
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
しかし、より広い範囲での変更点は次のとおりです(こちらから引用)。
#Legacy changes
KexAlgorithms diffie-hellman-group1-sha1,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr