bak*_*ytn 40 security linux ssh amazon-ec2
我们在 Amazon EC2 上有一台服务器 XXX。
SSH 在标准 (22) 端口上运行。
我将我的公钥放在 /.ssh/authorized_keys 文件中
有趣的是,昨天它工作得很好!
但是今天,我不知道发生了什么!我就是无法登录。
ssh -vvvv 服务器名
被卡住
debug1:期待 SSH2_MSG_KEX_DH_GEX_REPLY
我检查了我的公钥,它就在那里!(我怎么查的??我让另一个人查的)
然后我使用了另一台计算机(Windows 7 + Putty)并放置了我的新公钥。还有什么?我能够登录!那是另一台装有 Win7 的计算机在同一局域网上,这意味着外部 IP 是相同的。
我的私钥适用于其他服务器,但不适用于此。
请帮忙!
shg*_*Inc 60
更改网络接口MTU即可解决。这是 ubuntu 14.04 的一个错误。
这对我有用:
sudo ip li set mtu 1200 dev wlan0
Run Code Online (Sandbox Code Playgroud)
或者
sudo ifconfig wlan0 mtu 1200
Run Code Online (Sandbox Code Playgroud)
ssh 无法连接到 VPN 主机 - 在“期待 SSH2_MSG_KEX_ECDH_REPLY”时挂起
neo*_*tur 26
同样的问题在这里访问 online.net 数据中心的专用服务器。
重启后没问题,无需更改MTU,ssh连接工作1-3周,然后出现完全相同的错误,在KEXINIT上阻塞,无法连接ssh服务器。
这可能是某种 sshd 错误,但它必然是由 1-3 周后发生的一些网络事件触发的,我在该网络上的许多不同服务器上多次重现了这个确切的问题,有人说这可能与 cisco 错误有关,可能与某些 DPI 选项有关。
我在其他数据中心管理的其他服务器从未发生过这个问题,并且具有完全相同的发行版、配置和 sshd 版本。
如果您不想每 10 天重新启动一次,因为数据中心防火墙(或其他网络调整)正在做奇怪的事情:
首先与这些客户端解决方法之一连接:
解决方法 1,降低本地客户端 MTU:
ip li set mtu 1400 dev wlan0
Run Code Online (Sandbox Code Playgroud)
( 1400 应该足够了,但如果需要,您可以尝试使用较低的值)
解决方法 2,为 ssh 连接指定所选密码:
ssh -c aes256-gcm@openssh.com host
Run Code Online (Sandbox Code Playgroud)
(或尝试使用任何其他可用的密码)
这两种客户端解决方法都适合我,我可以连接并节省正常运行时间;但是你想永远修复这个服务器端,所以你不必要求每个客户端在本地调整他们的 MTU。
在 gentoo 上,我刚刚添加了:
mtu_eth0="1400"
Run Code Online (Sandbox Code Playgroud)
在 /etc/conf.d/net
(相同的 mtu 选项应该在您首选的发行版网络配置文件中的某处可用)
我已经将 mtu 设置为 1400,但在大多数情况下 1460 可能就足够了。
另一个有用的解决方法可能是使用以下 iptables 规则来管理碎片:
# /sbin/iptables -I OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# /sbin/ip6tables -I OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
(但我个人直到现在才需要这个)
另请注意,此问题的症状也可能是:
debug1: SSH2_MSG_KEXINIT sent
Run Code Online (Sandbox Code Playgroud)
不只是
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
Run Code Online (Sandbox Code Playgroud)
2016 年 3 月编辑:
将服务器上的 mtu 降低到 1400 总是有效的,但我最近遇到了服务器上的 mtu 已经降低到 1400 并且问题再次出现的情况,并且客户端也不得不将 mtu 降低到 1400。
该问题也出现在 Web 登录表单上,等待页面重新加载,直到说“服务器已重置连接”,在客户端将 mtU 设置为 1400 后也已修复。
相关链接 :
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1254085
http://www.1-script.com/forums/ssh/ssh-hang-after-ssh2-msg-kexinit-sent-10616-.htm
http://www.snailbook.com/faq/mtu-mismatch.auto.html
Lac*_*cek 17
就我而言,我无权降低 MTU 大小。并且手动指定密码不起作用。
通过指定一个来缩短 MAC 列表后,我可以进行连接,例如:
ssh -o MACs=hmac-sha2-256 <HOST>
Run Code Online (Sandbox Code Playgroud)
小智 10
更改 KexAlgorithm对我有用,并且可能是您没有更改 MTU 设置的系统权限的选项。这也可能是 OpenSSH 团队需要解决的问题。例如
ssh -o KexAlgorithms=ecdh-sha2-nistp521 fu@bar.com
Run Code Online (Sandbox Code Playgroud)
小智 9
升级我的 Ubuntu 客户端机器后,我遇到了同样的问题。我通过减少 /etc/ssh/ssh_config 中“密码”行的大小解决了我的问题。如果您在命令行中指定密码,它也可以工作(例如:ssh -c username@hostname)
从这里提示:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/708493/comments/39
| 归档时间: |
|
| 查看次数: |
59938 次 |
| 最近记录: |