web-dev-qa-db-ja.com

サーバーに接続しようとしたときにアルゴリズムのネゴシエーションに失敗しました

openssh-serverUbuntu server 16.04/etc/ssh/ssh_configにインストールしました:

MaxAuthTries 3
PasswordAuthentication YES

sshサーバーを再起動しました。 sshを使用して別のPCから接続しようとすると、Algorithm Negotiation failedというメッセージが表示されます

サーバーに戻り、systemctl status sshを実行すると、このエラーが発生します

Unable to negotiate with 192.168.0.132 port 63428: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

/etc/ssh/sshd_config addを編集し、行を追加します

KexAlgorithms=+diffie-hellman-group1-sha1

systemctl status sshを実行すると、別のエラーが表示されます

Unable to negotiate with 192.168.0.132 port 63428: no matching key exchange method found. Their offer: aes128-cbc,3des-cbc, blowfish-cbc,cast128-cbc,twofish-cbc,arcfour [preauth]

4
yaylitzis

そして質問は?

最新のアルゴリズムをサポートしていない非常に古いSSHクライアントから新しいシステム(Ubuntu 16.04)に接続しているため、接続に失敗します。クライアントを実際に更新する必要があります。

または、現在安全ではないかもしれない古いプロトコルを引き続き有効にします。を使用して

KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc

接続できるはずです。

3
Jakuje

以下のコードをファイルに追加します:/etc/ssh/sshd_config

KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc

今すぐサービスを再起動します

1
user3708054