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
鍵交換方法を有効にする方法は?
私は(提案されたように here )を試してみました
次の行をmy /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
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr
でキーを再生成
ssh-keygen -A
でsshを再起動します
service ssh restart
それでもエラーが発生します。
OpenSSH Webサイトには、このような レガシー問題 専用のページがあります。次のアプローチを提案しますクライアント:
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
鍵交換方式が無効になっています。
this および this を読んだ後、/etc/ssh/sshd_config
ファイルに必要な変更を加えました。
#Legacy changes
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
しかし、より広範なレガシーな変更のセットは( here から取得)
#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