![SFTP 连接失败:DH GEX 组超出范围](https://linux22.com/image/705010/SFTP%20%E8%BF%9E%E6%8E%A5%E5%A4%B1%E8%B4%A5%EF%BC%9ADH%20GEX%20%E7%BB%84%E8%B6%85%E5%87%BA%E8%8C%83%E5%9B%B4.png)
你好,我正在尝试连接到 sftp 服务器,但是它一直失败并出现以下错误:DH GEX 组超出范围
这是详细日志……环顾四周,我发现问题与密钥大小有关
OpenSSH_7.4p1 Ubuntu-10, OpenSSL 1.0.2g 1 Mar 2016
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: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4p1 Ubuntu-10
debug1: Remote protocol version 2.0, remote software version XFB.Gateway Windows
debug1: no match: XFB.Gateway Windows
debug1: Authenticating to ****:22 as 'User'
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: aes256-ctr MAC: hmac-sha1 compression: none
debug1: kex: client->server cipher: aes256-ctr MAC: hmac-sha1 compression: none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(2048<8192<8192) sent
debug1: got SSH2_MSG_KEX_DH_GEX_GROUP
ssh_dispatch_run_fatal: Connection to **** port 22: DH GEX group out of range
Couldn't read packet: Connection reset by peer
按照建议的解决方案这里不起作用:
-o KexAlgorithms=diffie-hellman-group-exchange-sha1 -o HostKeyAlgorithms=+ssh-dss
我也按照建议尝试了这个选项这里
密钥大小最小值=1024
但我得到了这个错误
command-line: line 0: Bad configuration option: kexdhmin
我知道该做什么才能修复它吗?
答案1
您正在使用新的 OpenSSH 连接到某个古老的 Windows 实现 ( XFB.Gateway Windows
),该实现将最小 DH 组大小增加到 2048(这不是标准,但服务器没有理由不接受这一点)。这可能是一些商业软件,因此您应该联系您的供应商,以便他能修复它。
没有配置选项来选择此最小 DH 组大小,因此如果该服务器支持不同的密钥交换算法,您可能会幸运地使用它。这将从带有开关的调试日志中可见-vvv
。