リモートマシンにsshしようとしていますが、失敗します:
$ ssh -vvv admin@192.168.100.14
OpenSSH_7.7p1, OpenSSL 1.0.2o 27 Mar 2018
.....
debug2: ciphers ctos: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
debug2: ciphers stoc: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com
debug2: compression stoc: none,zlib@openssh.com
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: rsa-sha2-512
Unable to negotiate with 192.168.100.14 port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
ログの最後の文字列を理解している限り、サーバーは次の4つの暗号アルゴリズムのいずれかを使用することを提案しますaes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
。私のsshクライアントはそれらのいずれもサポートしていないようですので、サーバーとクライアントはそれ以上交渉することができません。
しかし、私のクライアントは、提案されたすべてのアルゴリズムをサポートしています。
$ ssh -Q cipher
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
rijndael-cbc@lysator.liu.se
aes128-ctr
... and there are several more.
そして、このようにアルゴリズムを明示的に指定した場合:
ssh -vvv -c aes256-cbc admin@192.168.100.14
サーバーに正常にログインできます。
私に~/.ssh/config
は暗号関連のディレクティブは含まれていません(実際には完全に削除しましたが、問題は残っています)。
それでは、明示的な指示なしに、クライアントとサーバーが使用する暗号を決定できないのはなぜですか?クライアントはサーバーがサポートしてaes256-cbc
いることを理解し、クライアントは自分でそれを使用できることを理解しています。なぜそれを使用しないのですか?
いくつかの追加のメモ:
しばらく前(約1か月)にそのような問題はありませんでした。それ以来、ssh構成ファイルを変更していません。ただし、インストール済みパッケージを更新しました。
非常によく似た問題を説明する質問がありますが、私の質問には答えがありません:sshが交渉できません-一致する鍵交換方法が見つかりません
更新:問題は解決しました
telcoMが説明したように、問題はサーバーにあります。古い暗号アルゴリズムのみを示唆しています。クライアントとサーバーの両方が古くなっていないと確信しました。サーバーにログインしました(ちなみに、Synologyであり、利用可能な最新バージョンに更新されています)/etc/ssh/sshd_config
。このファイルの最初の(!)行は次のとおりです。
Ciphers aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
これは非常に奇妙です(ファイルの最初が行であるという事実)。これまでにファイルに触れたことはないでしょう。ただし、行を次のように変更しました。
Ciphers aes256-ctr,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
サーバーを再起動し(sshd
サービスのみを再起動する方法がわかりませんでした)、問題はなくなりました。通常どおりサーバーにSSH接続できます。