我在我的一个公共 SSH 服务器上遇到了一个非常奇怪的问题。它间歇性地出现以下错误:
ssh_exchange_identification: Connection closed by remote host
我们都知道这是一个通用的。让我向你展示客户端和服务器端日志。
在 SSH 客户端上 -
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 139.162.11.185 [139.162.11.185] port 22.
debug1: Connection established.
debug1: identity file /home/vivek/.ssh/id_rsa type -1
debug1: identity file /home/vivek/.ssh/id_rsa-cert type -1
debug1: identity file /home/vivek/.ssh/id_dsa type -1
debug1: identity file /home/vivek/.ssh/id_dsa-cert type -1
debug1: identity file /home/vivek/.ssh/id_ecdsa type -1
debug1: identity file /home/vivek/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/vivek/.ssh/id_ed25519 type -1
debug1: identity file /home/vivek/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.4
ssh_exchange_identification: Connection closed by remote host
在 SSH 服务器上
Feb 6 14:49:10 linsing2 sshd[19916]: Connection closed by 124.40.245.75
Feb 6 14:49:16 linsing2 sshd[19935]: Connection closed by 124.40.245.75
Feb 6 14:49:20 linsing2 sshd[19937]: Connection closed by 124.40.245.75
整个问题是断断续续的。
- 这是由于对已经建立了如此多连接的 SSH 服务器进行了 DDOS 攻击吗?
- 或者这是由于 SSH 服务器上的 Max_Connection 限制?(但 Max_Connections 在每个网络基础上工作,我们从 3 个不同的网络尝试并得到相同的错误)
- 或者 SSH 服务器上当前打开的文件或连接的数量是否有可能?(注意 - 我们没有太多用户使用 sftp 或 ssh)
请分享您的想法,这将会很有帮助!
答案1
这实际上是一次 DOS 攻击,在将 /etc/ssh/sshd_config 中的 ssh 端口和 MaxStartups 变量更改为后,问题得到了解决,
port 2244 MaxStartups 100
重启服务,
service sshd restart
答案2
这是由于对已经建立了如此多连接的 SSH 服务器进行了 DDOS 攻击吗?
可能是。您可以通过运行ps aux | grep sshd
来找出有多少个连接处于挂起状态。这受选项影响MaxStartups
或者这是由于 SSH 服务器上的 Max_Connection 限制?(但 Max_Connections 在每个网络基础上工作,我们从 3 个不同的网络尝试并得到相同的错误)
ssh 服务器中没有“Max_Connection”限制。有选项MaxSessions
,但它仅适用于每个连接的会话数量,即多路复用。
日志显示连接在中间某处中断。防火墙,其他 IDS?