首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解决SSH连接Linux超时

让人非常恼火,如何解决 SSH 连接 Linux 超时自动断开?...修改服务器相关配置 $TMOUT 系统环境变量 # 用以下命令判断是否是否设置了该参数 echo $TMOUT # 如果输出空或0表示不超时,大于0数字n表示n秒没有收入则超时 # 修改方法 vi /...profile # ---------------------------- export TMOUT=900 # ---------------------------- # 将以上900修改为0就是设置不超时...设置60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了。 # ClientAliveCountMax表示服务器发出请求后客户端没有响应次数达到一定值, 就自动断开。...# 备份原配置文件 cp sshd_config sshd_config.bak # 启用客户端活动检查,每60秒检查一次,3次不活动断开连接 sed -i "s/#ClientAliveInterval

8.8K50
您找到你想要的搜索结果了吗?
是的
没有找到

linux阻塞与非阻塞(connect连接超时)

只是当前连接还没有建立完整),所以我们可以在通过给select、pol或epoll设置等待时间,来等待这个connect连接成功,从而进一步处理 如果非阻塞connect返回错误不是EINPROGRESS...,进一步来等待非阻塞connect客户端与服务端建立完整地连接,在等待过程中,如果非阻塞connect建立成功了,客户端sock_fd就会变成可写(这个在本人IO复用文章中介绍过,见下图) ④当非阻塞...connect建立成功之后还可以利用getsockopt来读取错误码并清除该socket上错误: 如果错误码为0,表示连接成功建立 否则连接失败 二、非阻塞connect移植性问题 移植性问题如下...在有些系统(比如Linux)上返回-1,而在有些系统上(比如源自伯克利UNIX)返回0 这些问题没有一个统一解决办法 三、编码演示案例 #include #include <stdlib.h...8888端口服务器,但是服务器未开启,select等待10秒之后超时退出 测试② 这个测试中,我们服务器开启了8888监听端口 我们客户端程序connect没有执行成功,但是返回了EINPROGRESS

6.1K10

socket连接超时 与 读取写入超时

socket处理时有两种超时 , 分为连接超时 和 读取/写入数据超时 1. stream_socket_client 函数中超时时间是连接超时 , 默认是php.ini中default_socket_timeout...配置项 2. stream_set_timeout() 函数设置是 读取/写入数据超时 3. default_socket_timeout配置项也控制file_get_contents超时时间 PHP...对于Internet域套接字(AF_INET)(如TCP和UDP),remote_socket参数目标部分应包含主机名或IP地址,后跟冒号和端口号。...2.errno 如果连接失败,将设置为系统级错误号。 3.errstr 如果连接失败,将设置为系统级错误消息。 4.timeout connect()系统调用应该超时之前秒数。...注意: 要设置通过套接字读取/写入数据超时,请使用stream_set_timeout(),因为仅在连接套接字时才应用超时。 5.flags 位掩码字段,可以设置为连接标志任意组合。

4.7K30

LinuxTCP连接过程总结

一、Linux服务器上11种网络连接状态:       图:TCP状态机 通常情况下,一个正常TCP连接,都会有三个阶段:1、TCP三次握手; 2、数据传送; 3、TCP四次挥手 注:以下说明最好能结合...SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一个新TCP连接请求。...当然上述很多TCP状态在系统里都有对应解释或设置,可见 man tcp 二、关于长连接和短连接:   通俗点讲,短连接就是一次TCP请求得到结果后,连接马上结束.而长连接并不马上断开,而一直保持着,直到长连接...此刻,底层TCP实现首先将留存在SendQ队列中数据传输出去(还要依赖于另一端RecvQ队列剩余空间),然后向另一端发送一个关闭TCP连接 握手消息。...,你无法保证你最后发送ACK报文会一定被对方收到,因此对方处于 LAST_ACK状态下SOCKET可能会因为超时未收到ACK报文,而重发FIN报文,所以这个TIME_WAIT状态作用就是用来重发可能丢失

4.7K50

一个TCP TIME_WAIT过高引起连接mysql超时案例

本文作者:鲁越 问题背景:      客户将mysql从IDC迁移至公有云后,时常有出现建立连接超时情况,业务使用场景是PHP短连接到mysql,每秒新建连接数在3000个左右,这个量算是比较大。...2、超时问题最容易联想到就是网络上有异常,在物理机上抓包后,抓到在有问题时间点确实有syn包重传。...6、要解释第一个问题,我们先来回顾一下TCP四次挥手流程 image.png         从流程里面我们看到,进入TIME_WAIT状态是先发送FIN包一方,也就是主动断开连接一方。...首先,我们知道,linux连接进入TIME_WAIT状态时间是2个MSL,也就是120秒。在每秒3000个短连接情况下,120秒内可以产生大约36万个进入TIME_WAIT状态连接。...5、修改linux内核减小MSL时间         能够降低出问题概率,需要修改linux内核,难度和风险都较大。

5K52

Linux 2.6.16 TCP 连接速度异常问题分析

分析认为SESU10母盘上内核TCP拥塞控制算法和WindowsAck频率控制策略存在不兼容情况。...这里是一个典型下载速度曲线: 我们服务器曲线:(纵轴单位:包/s) 百度服务器下载曲线: 重现该问题测试环境: 网络: 公司体验网,普通联通4M ADSL 服务器:Linux64位服务器...Linux这一端,首先怀疑和nagle算法有关系,在nws服务器上设置TCP_NODELAY以后仍然可以重现,可以排除Nagle算法影响。...因为每次linux仅发送一个数据包,因此怀疑拥塞窗口问题,推测问题如下: 初始情况下,客户端回复一个ACK时,拥塞窗口增大,每次发送多个数据包,因此刚开始可以有较快传输速度;因为网络延时抖动或丢包导致服务器协议栈判定数据包超时...通过测试增大初始拥塞窗口为10 (更换内核加载架平新技术组TCP优化模块实现),下载速度恢复正常。

4.8K00

速读原著-TCPIP(TCP超时与重传)

第21章 TCP超时与重传 21.1 引言 T C P提供可靠运输层。它使用方法之一就是确认从另一端收到数据。但数据和确认都有可能会丢失。 T C P通过在发送时设置一个定时器来解决这种问题。...对任何实现而言,关键之处就在于超时和重传策略,即怎样决定超时间隔和如何确定重传频率。...5秒进行重传; ( 2)在向一个不存在主机发送 A R P例子中(第 4 . 5节),我们看到当T C P试图建立连接时候,在每个重传之间使用一个较长时延来重传 S Y N。...对每个连接,T C P管理4个不同定时器。 重传定时器使用于当希望收到另一端的确认。在本章我们将详细讨论这个定时器以及一些相关问题,如拥塞避免。...2MSL定时器测量一个连接处于 T I M E _ WA I T状态时间。我们在 1 8 . 6节对该状态进行了介绍。 本章以一个简单 T C P超时和重传例子开始,然后转向一个更复杂例子。

99620

修改Apache超时设置,解决长连接请求超时问题

某日,组内后台开发找到我,问我们 WEB 服务器超时设置是多少。他反馈问题是,有一个 VLAN 切换任务 cgi 接口经常返回 504 网关超时错误,要我分析解决下。...我问了一下,得知这个请求遇到网络设备对象较多时候,需要小半个小时才能完成,也就是要用到长连接才行。...老规矩,从开发那拿到接口地址,得到接入层服务器 IP,是一台 Haproxy 代理,看了一下 Haproxy 超时设置: # 设置成功连接到一台服务器最长等待时间,默认单位是毫秒,新版本haproxy...使用timeout connect替代,该参数向后兼容 contimeout 3600 # 设置连接客户端发送数据时成功连接最长等待时间,默认单位是毫秒,新版本haproxy使用timeout client...第一时间查看了 httpd.conf 和 httpd-vhost.conf 中配置,居然没找到超时设置。

14.6K90

我理解 TCP 连接

总述 TCP 是面向连接协议。运输连接是用来传输 TCP 报文TCP 运输连接建立和释放是每一次面向连接通信中必不可少过程。因此,运输连接有三个阶段,即:连接建立,数据传输和连接释放。...在TCP连接建立过程中要解决一下三个问题。 (1)要使一方明确知道对方存在。 (2)要允许双方协商一些参数(如最大窗口值等)。 (3)能够运输实体资源进行分配。 TCP 连接建立(三次握手) ?...如上图所示,上图画出了 TCP 连接过程。假定主机 A 运行TCP 客户程序,而B运行TCP 服务器程序。最初两端 TCP 进程都处于 CLOSE 状态。...图中在主机下面的方框中分别是 TCP 进程所处于状态。请注意,A 主动打开链接,而 B 被动打开连接。 BTCP服务器进程先创建传输控制快 TCB,准备接受客户进程连接请求。...A 应用进程先向其 TCP 发出连接释放报文段,并停止再发送数据,主动关闭 TCP 连接

1.1K10

Linux源码看Socket(TCP)listen及连接队列

今天笔者就来从Linux源码角度看下Server端Socket在进行listen时候到底做了哪些事情(基于Linux 3.10内核),当然由于listenbacklog参数和半连接hash表以及全连接队列都相关...半连接队列hash表和全连接队列 在笔者一开始翻阅资料里面,都提到。tcp连接队列有两个,一个是sync_queue,另一个accept_queue。但笔者仔细阅读了一下源码,其实并非如此。...); } 这个定时器在半连接队列不为空情况下,以200ms(TCP_SYNQ_INTERVAL)为间隔运行一次。...为什么要存在半连接队列 因为根据TCP协议特点,会存在半连接这样网络攻击存在,即不停发SYN包,而从不回应SYN_ACK。...在不设置tcp_abort_on_overflow时候,client端无法感知,就会导致即在第一笔调用时候才会知道对端连接丢弃了。

1.7K20

速读原著-TCPIP(连接建立超时)

第18章 TCP连接建立与终止 18.3 连接建立超时 有很多情况导致无法建立连接。一种情况是服务器主机没有处于正常状态。...我们曾经介绍过使用典型伯克利实现版系统将初始序号初始化为1,然后每隔0 . 5秒就增加64 000。 另外,因为这是系统启动后第一个TCP连接,因此客户端口号是1024。...大多数伯克利系统将建立一个新连接最长时间限制为 7 5秒。...我们将在2 1 . 4节看到由客户发出第 3个分组大约在1 6 : 2 5 : 2 9超时, 客户在它第3个分组发出后4 8秒而不是7 5秒后放弃连接。...18.3.1 第一次超时时间 在图1 8 - 6中一个令人困惑问题是第一次超时时间为 5 . 8秒,接近6秒,但不准确,相比之下第二个超时时间几乎准确地为 2 4秒。

1.4K20

TCP 连接细节问题

先来描述下三次握手连接: 第一次握手:A TCP 客户端进程也是首先创建传输控制块 TCB。...然后,在打算建立 TCP 连接时, 向 B 发出连接请求报文段,这时首部中同步位 SYN=1,同时选择一个初始序号 seq = x。...TCP 连接使用三次握手首要原因 —— 为了阻止历史重复连接初始化造成混乱问题,防止使用 TCP 协议通信双方建立了错误连接。...RST 重置信号 接受方接受到连接请求后,会给发送方发送一个seq + 1 ack, 发送方收到就会判断是否是过期连接,如果当前连接是历史连接,即 SEQ 过期或者超时,那么发送方就会直接发送 RST...,其中并不存在一个用于计数全局时钟,而 TCP 可以通过不同机制来初始化序列号,作为 TCP 连接接收方我们无法判断对方传来初始化序列号是否过期,所以我们需要交由对方来判断,TCP 连接发起方可以通过保存发出序列号判断连接是否过期

1.2K30

Linux TCP连接Connection Refused和Connection timed out问题

故事有点长,先发一张tcp三次握手过程图镇楼~ 1 自己服务端socket监听出现问题 一开始认为可能是自己作为服务端监听有问题,因为后面排查监听端口时候发现了close_wait情况。...结果网管回复防火墙正常,但是只收到对方一台IP记录,另一IP没有发送过报文。 立即反映给对方开发人员,结果对方发现是负载均衡系统一台服务器连接我这边系统网络有问题。...,然后服务端拒绝掉了连接。...一个成功tcp链接将会看到Syn,Syn-Ack,Ack,这也就是我们预期TCP三次握手。...# 然后打开另一个ssh会话,netstat服务器上tcp连接状况 [root@typecodes ~]# netstat -anpt tcp 0 1 10.169.218.97

22610

PDO对象与mysql连接超时

在php中每一个newPDO对象,都会去连接mysql,都会创建一条tcp连接.当pdo对象赋予变量是一个时候,那么他只会保持一个tcp连接,没有被引用对象连接会直接断掉.如果不对这个对象进行任何操作...如果使用了长连接参数,那么不管循环执行几次new PDO,只会有一个tcp连接 关于超时现象,网上资料大部分说受两个参数interactive_timeout和wait_timeout影响,但是经过我测试...如果每隔一秒传输数据,那么这条连接就会一直存在,状态一直是ESTABLISHED.如果是会出现两次执行时间较长,连接会被mysql断掉 对于需要长期执行数据库操作脚本,比较稳妥方式是每隔8秒左右重新...altupn|grep 3306;sleep 1;done 另一个终端执行php脚本,可以暂时把长连接参数去掉,可以看到有很多tcp连接,状态是time_wait,是客户端主动关闭....而被mysql断掉连接是close_wait状态,也就是被关闭一方,mysql服务里连接是FIN_WAIT2 ? <?

3.5K20

Memcached连接超时故障排除

在一次例行检查日志时候,发现Nginx日志中出现了大量PHP连接Memcached超时报错信息,如下: PHP Warning: Memcache::connect(): Can’t connect...127.0.0.1:11211, Connection timed out (110) in … 连上服务器检查Memcached进程运行正常,然后我用一段测试代码检查Memcached是否能够正常连接...于是又仔细分析日志,发现那段报错信息是间隔出现,说明是有一定几率。...这时我回想起上周因为架构问题刚刚把PHPSession存储路径指向到了Memcached里,可能是因为这个配置增加了Memcached负载,从而导致在并发量较高时,Memcached出现连接超时现象...重新调整Memcached启动参数,增加-c参数来提高连接数量。默认为1024,可以逐步增加以找到最佳数值。我设置为2048。

2.6K10

Linux: 判断服务器不可达与连接超时关键区别

引言 在Linux系统中,判断一个服务器是否不可达或者连接是否超时是网络管理和故障诊断常见任务。了解如何区分这两种情况并使用适当命令进行诊断,对于维护网络稳定性和服务可用性至关重要。...本文将探讨判断服务器不可达与连接超时关键区别,并提供实际可操作命令来进行检测。 一、不可达与超时区别 服务器不可达:通常意味着网络层面上无法找到到达服务器路径。...连接超时:则是指在网络路径可达情况下,尝试建立到服务器连接,但服务器未在预期时间内响应。 二、关键判断方法 检查路由表:通过查看路由表,可以确定网络请求是否有到达目标服务器路径。...命令:traceroute [服务器IP或域名] 端口连接测试:使用如telnet或nc命令,可以尝试直接连接到服务器特定端口,以检查服务是否响应。...四、总结 在Linux环境中,准确地诊断服务器不可达和连接超时问题,需要综合运用多种网络诊断工具。通过合理解读这些工具输出,可以有效地定位网络故障根源,并采取适当解决措施。

40310
领券