问题

今天登陆服务器时候,ssh 后返回 ssh_exchange_identification: Connection closed by remote host 错误,重试了几次,会有一定概率失败。

分析

由于每次不不一定失败,首先想到的 ssh 连接数超过了限制。

首先打开目标服务器的 sshd 配置文件。找到MaxStartup和 MaxSession配置

$ vim /etc/ssh/sshd_config
# MaxSessions 10
# MaxStartup 10:30:60
这两个配置含义:
MaxStartup
这个是限制处于联机页面的连接数,默认值10。联机页面就是当你登录ssh时,还没输入密码的页面。
三元组形式10:30:60
10:当连接数达到10时就开始拒绝连接,不过不是全部拒绝,我们继续往下看
30:当连接数到达10时,之后的连接有30的概率被拒绝掉
60:当连接数达到60时,之后的连接就全部拒绝了
一个数字的形式
我们可以直接 写个60,这样言简意赅,连接数达到60之前敞开玩,达到60后就不能玩了。 MaxSessions
每个连接可以并行开启多少个会话(session),默认值是10.

查看当前 sshd 连接数

$ netstat -tnpa | grep 'ESTABLISHED.*sshd'
tcp 0 52 172.17.19.234:22 49.233.92.166:43710 ESTABLISHED 30156/sshd: [accept
tcp 0 0 172.17.19.234:22 159.203.219.38:37027 ESTABLISHED 29896/sshd: root [p
tcp 0 1264 172.17.19.234:22 90.84.189.254:38404 ESTABLISHED 30145/sshd: [accept
tcp 0 0 172.17.19.234:22 111.229.122.177:38808 ESTABLISHED 30134/sshd: root [p

发现有 10 个左右连接。

解决方案

修改 MaxStartup 参数,将最小连接数设置为 50。保存后退出。

重启 sshd 服务:systemctl restart sshd 或者 service sshd reload。

使用 ssh 重新登录。

PS: 如果将最小连接数调整最小 50 后,通过查看 sshd 连接数命令后,还会继续增多,多半是服务器被攻击了,可适当调整 sshd 端口,和增加允许 IP。

ssh_exchange_identification: Connection closed by remote host 错误解决方案的更多相关文章

  1. ssh问题:ssh_exchange_identification: Connection closed by remote host

    ssh问题:ssh_exchange_identification: Connection closed by remote host... 刚刚一个朋友告诉我SSH连接不上服务器了,重启电脑也不管用 ...

  2. 【Ansible】SSH Error: ssh_exchange_identification: Connection closed by remote host

    ansible ssh到目标机器 时好时坏,报错:  SSH Error: ssh_exchange_identification: Connection closed by remote host ...

  3. ssh_exchange_identification: Connection closed by remote host

    用服务器内网ip连接同子网服务器的时候显示ssh_exchange_identification: Connection closed by remote host 防火墙什么都关闭了,还是显示这个问 ...

  4. sftp修改用户home目录后登录时报connection closed by remote host

    在sftp用户需要修改登录根目录的情况下,我们可以修改/etc/ssh/sshd_config文件中ChrootDirectory /home/[path]的路径. 但是,在重启sshd服务后,sft ...

  5. ssh通过sock5的问题kex_exchange_identification: Connection closed by remote host

    工作需要,连接几台外网的服务器.由于移动的网络直连,经常会连不上,所以想通过本地的sock5代理连接. 神奇的事情发送了,通过sock5代理,有几台主机可以连上,有几天报上面的错误. 经过反复测试,外 ...

  6. ssh 连接不上报Connection closed by remote host

    解决办法 (1)查看这两个文件是否有阻止cat /etc/hosts.deny cat /etc/hosts.allow (2)客户端连接数过多修改/etc/ssh/sshd_config中#MaxS ...

  7. ssh连接提示 "Connection closed by remote host"

    如果原来是可以用ssh连接的, 突然连接不上通常是连接数过多导致的. 解决方法一. 把SSH连接数改大 修改服务器上的这个文件:/etc/ssh/sshd_config 找到这行: # MaxSess ...

  8. xshell连接不了虚拟机处理方法(错误提示:Connection closing...Socket close.Connection closed by foreign host.Disconnected from remote host(localhost) at 08:47:23.)

    一.问题描述:xshell连接不了虚拟机,出现错误提示:Connection closing...Socket close.Connection closed by foreign host.Disc ...

  9. XShell 连接虚拟机中的服务器 失败 、连接中断(Connection closed by foreign host.)

    在使用XShell连接虚拟机中的服务器时,报以下错误并断开连接,之前连接还是挺稳定的,忽然就这样了 Last login: Thu Aug :: from 192.168.1.102 [root@no ...

  10. XShell提示Connection closed by foreign host的问题 和 路由器分配IP的规则

    情况是这样的: VMware中有三个Linux机器分别是crxy99(192.168.1.99),crxy100(192.168.1.100),crxy101(192.168.1.101),crxy1 ...

随机推荐

  1. C# 二进制数组与结构体的互转

    本文将告诉大家在 dotnet 里面的二进制基础处理知识,如何在 C# 里面将结构体数组和二进制数组进行相互转换的简单方法 尽管本文属于基础入门的知识,但是在阅读之前还请自行了解 C# 里面的结构体内 ...

  2. dotnet 在 UOS 国产系统上安装 dotnet sdk 的方法

    本文告诉大家如何在 UOS 国产系统上安装 dotnet sdk 的方法 使用的 UOS 是 UOS 20 x64 版本,这个系统版本是基于 debian 10 的,可以使用 debian 10 的方 ...

  3. 如何在 Linux 上部署 RabbitMQ

    如何在 Linux 上部署 RabbitMQ 目录 如何在 Linux 上部署 RabbitMQ 安装 Erlang 从预构建的二进制包安装 从源代码编译 Erlang RabbitMQ 的安装 使用 ...

  4. K8s集群中部署SpringCloud在线购物平台(二)

    三.harbor简介 harbor 是私有镜像仓库,用来存储和分发镜像的 docker 还有一个官方的镜像仓库 docker hub,免费用户只能简单的使用,创建一个私有镜像仓库,存储 镜像,付费用户 ...

  5. Oracle和达梦:获取表是否被锁定

    1.获取表是否被锁定 select "V$SESSIONS".SESS_ID,"V$SESSIONS".SQL_TEXT,"V$SESSIONS&qu ...

  6. Swift实现判断目录下是否存在指定文件功能

    本文主要讲解以下这段名为 isDataJsonFilePathExists 的私有函数的 Swift 代码实现细节,该函数的作用是检查指定文件或文件夹是否存在,其返回值类型为 Bool 类型,如果存在 ...

  7. ElasticView 是一款用来监控elasticsearch状态和操作elasticsearch索引的web可视化工具。

    ElasticView 是一款用来监控elasticsearch状态和操作elasticsearch索引的web可视化工具. 它由golang开发而成,具有部署方便,占用内存小等优点 es连接树管理( ...

  8. gin 图片上传到本地或者oss

    路由层 func registerCommonRouter(v1 *gin.RouterGroup) { up := v1.Group("upload") { up.POST(&q ...

  9. link标签的media属性

    media属性表示被链接的文档将显示在什么设备上.比如下面的例子: <head> <link rel="stylesheet" type="text/c ...

  10. JS基础--JavaScript实例集锦(初学)

    1.子节点childNodes: <!DOCTYPE html> <html> <head> <title>childNodes</title&g ...