Pau*_*BGD 10 linux ubuntu ssh linux-networking
我在通过 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
Run Code Online (Sandbox Code Playgroud)
我已经广泛阅读了这个问题SSH: DH_GEX group out of range但是它似乎没有回答这个问题。我控制客户端和服务器,它们都使用常规的 OpenSSH 和 Ubuntu Linux。没有第三者。错误似乎也有点不同,它不是抱怨位大小。
Dag*_*elf 10
如果您想使用较新的 OpenSSH 连接到已弃用的服务器:
ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -o HostKeyAlgorithms=+ssh-dss my.host.com
Run Code Online (Sandbox Code Playgroud)
如果您想查看发生了什么,请添加 -v,如果仍然不起作用,请添加 -o HostKeyAlgorithms=ssh-dss:
ssh -v -o HostKeyAlgorithms=ssh-dss -o KexAlgorithms=diffie-hellman-group14-sha1 my.host.com
Run Code Online (Sandbox Code Playgroud)
当然,您也可以编辑 /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
Run Code Online (Sandbox Code Playgroud)
https://forum.ctwug.za.net/t/fyi-openssh-to-access-rbs-openssh-7/6069提到了 Mikrotik Routerboards 的以下修复:
/ip ssh set strong-crypto=yes
Run Code Online (Sandbox Code Playgroud)
(在这里注意这一点,因为在寻找类似的错误消息时,这个答案也会出现在网络搜索中。)
如果你想在 Git 上使用它而不编辑你的 ssh_config 或更新 SSH 服务器:
GIT_SSH="ssh -oHostKeyAlgorithms=+ssh-dss -oKexAlgorithms=diffie-hellman-group14-sha1" git clone ssh://user@host/path-to-repository
Run Code Online (Sandbox Code Playgroud)
看起来您正在针对较旧的OpenSSH 服务器 (OpenSSH 6.6.1p1)运行较新的OpenSSH 客户端(OpenSSH 7.2p2)。在OpenSSH 7.1p2 发行说明 中,它提到:
- ssh(1)、sshd(8):将 diffie-hellman-group-exchange 支持的最小模数大小增加到 2048 位。
从报告的错误消息来看,似乎是您的客户端拒绝了 _server 提供的 DH 组交换值。
因此,我想知道“突然问题”是否在您的客户端计算机应用了一些包/更新时开始发生。
根据这个SecurityExchange post,它描述了一个非常相似的问题,“解决方案”可能是a)修改/etc/ssh/moduli
服务器端的文件,使服务器不使用小于 2048 位的 DH 组,或者b)将服务器升级到OpenSSH 7.1p2 或更高版本。
归档时间: |
|
查看次数: |
30520 次 |
最近记录: |