web-dev-qa-db-ja.com

アップグレード後のUbuntu-sshの交換に失敗しました

Ubuntuを14.04から16.04にアップグレードした後、少し問題があります。 SSHを介して一部のサーバーとのSSH接続を確立しようと試みましたが、アップグレード後、場合によっては次の出力が得られます。

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

私はこれを追加することを知っています:ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@legacyhost

しかし、多分それをグローバルに有効にし、14.04のようにssh user @ Hostのみを使用する別の方法がありますか?

4
user612336

これは、diffie-hellman-group1-sha1がキー交換アルゴリズムのデフォルトセットに存在しないことを意味します。

sshオプションを永続的に取得するには、次の情報を~/.ssh/config(または/etc/ssh/ssh_configでグローバルに)に追加します。

KexAlgorithms=+diffie-hellman-group1-sha1

これらのスニペット内の値が前述のセットにのみ適用されるため、グローバルに必要な場合は、ディレクティブを追加するときに、HostMatchなどの選択的宣言に注意してください。不確かなときはいつでも、それを一番上に置いてください。

3
heemayl