web-dev-qa-db-ja.com

DH GEXグループが範囲外です

サーバーへのSSH接続で突然問題が発生しました。

ssh -v --@--
OpenSSH_7.2p2 Ubuntu-4ubuntu1, OpenSSL 1.0.2g-fips  1 Mar 2016
debug1: Reading configuration data /home/paul/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to -- [--] port 22.
debug1: Connection established.
debug1: identity file /home/paul/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu1
debug1: Remote protocol version 1.99, remote software version OpenSSH_6.6.1p1
debug1: match: OpenSSH_6.6.1p1 pat OpenSSH_6.6.1* compat 0x04000000
debug1: Authenticating to --:22 as 'root'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: diffie-hellman-group-exchange-sha1
debug1: kex: Host key algorithm: ssh-rsa
debug1: kex: server->client cipher: aes128-cbc MAC: hmac-sha1 compression: none
debug1: kex: client->server cipher: aes128-cbc MAC: hmac-sha1 compression: none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(2048<7680<8192) sent
debug1: got SSH2_MSG_KEX_DH_GEX_GROUP
ssh_dispatch_run_fatal: Connection to -- port 22: DH GEX group out of range

私はこの質問を読みました SSH:DH_GEXグループが範囲外です 広範囲に渡りますが、これには答えていないようです。私はクライアントとサーバーの両方を制御しています。どちらも通常のOpenSSHとUbuntu Linuxを使用しています。サードパーティはありません。エラーも少し違うようです、それはビットサイズについて不平を言っていません。

8
PaulBGD

新しいOpenSSHクライアント(OpenSSH 7.2p2)を古いOpenSSHサーバー(OpenSSH 6.6.1p1)に対して実行しているようです。 OpenSSH 7.1p2リリースノート には、次のように記載されています。

  • ssh(1)、sshd(8):diffie-hellman-group-exchangeでサポートされる最小モジュラスサイズを2048ビットに増やしました。

報告されたエラーメッセージから、_serverによって提示されたDHグループ交換値を拒否しているのはclientのようです。

したがって、クライアントマシンにパッケージ/アップデートが適用された頃に「突然の問題」が発生し始めたのではないかと思います。

これによると SecurityExchange post は非常に類似した問題を説明しており、「解決策」はa)/etc/ssh/moduliファイルを変更することですサーバーが2048ビット未満のDHグループを使用しないようなサーバー側、またはb)サーバーをOpenSSH 7.1p2以降にアップグレードします。

5
Castaglia

新しいOpenSSHを使用して非推奨のサーバーに接続する場合:

ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -o HostKeyAlgorithms=+ssh-dss my.Host.com

何が起こっているのかを確認したい場合は-vを追加し、それでも機能しない場合は-o HostKeyAlgorithms = ssh-dssを追加します。

ssh -v -o HostKeyAlgorithms=ssh-dss -o KexAlgorithms=diffie-hellman-group14-sha1 my.Host.com

もちろん、/ etc/ssh/ssh_configまたは〜/ .ssh/ssh_configを編集して、以下を追加することもできます。

Host my.Host.com *.myinsecure.net 192.168.1.* 192.168.2.*
    HostKeyAlgorithms ssh-dss
    KexAlgorithms diffie-hellman-group1-sha1    

https://forum.ctwug.za.net/t/fyi-openssh-to-access-rbs-openssh-7/6069 は、Mikrotikルーターボードの以下の修正に言及しています:

/ip ssh set strong-crypto=yes

(この回答は、同様のエラーメッセージを探すときにWeb検索でも表示されるため、ここで注意してください。)

Ssh_configを編集したり、SSHサーバーを更新したりせずにGitで使用する場合:

GIT_SSH="ssh -oHostKeyAlgorithms=+ssh-dss -oKexAlgorithms=diffie-hellman-group14-sha1" git clone ssh://user@Host/path-to-repository
9
Dagelf