openssh-server
をUbuntu 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]
そして質問は?
最新のアルゴリズムをサポートしていない非常に古いSSHクライアントから新しいシステム(Ubuntu 16.04)に接続しているため、接続に失敗します。クライアントを実際に更新する必要があります。
または、現在安全ではないかもしれない古いプロトコルを引き続き有効にします。を使用して
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
接続できるはずです。
以下のコードをファイルに追加します:/etc/ssh/sshd_config
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
今すぐサービスを再起動します