`
wankunde
  • 浏览: 158522 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

ssh 设置超时时间

    博客分类:
  • ssh
 
阅读更多

 

ssh连接超时问题解决方案:

1.修改server端的etc/ssh/sshd_config

ClientAliveInterval 60 #server每隔60秒发送一次请求给client,然后client响应,从而保持连接

ClientAliveCountMax 3 #server发出请求后,客户端没有响应得次数达到3,就自动断开连接,正常情况下,client不会不响应

 

2.修改client端的etc/ssh/ssh_config添加以下:(在没有权限改server配置的情形下)

ServerAliveInterval 60 #client每隔60秒发送一次请求给server,然后server响应,从而保持连接

ServerAliveCountMax 3  #client发出请求后,服务器端没有响应得次数达到3,就自动断开连接,正常情况下,server不会不响应

 

3.另一种方式: 

不修改配置文件

在命令参数里ssh -o ServerAliveInterval=60 这样子只会在需要的连接中保持持久连接, 毕竟不是所有连接都要保持持久的

 

=====================补充========================

keeping your ssh session alive through  
pesky(讨厌的,麻烦的) NAT firewalls.

NAT firewalls like to time out idle sessions to keep their state tables clean and their memory footprint low. 

NAT防火墙喜欢对空闲的会话进行超时处理,以确保它们状态表的干净和内存的低占用率。

Some firewalls are nice, and let you idle for up to a day or so; some are gestapo and terminate your session after 5 minutes. 

一些防火墙比较友好,允许你的空闲会话时间为一天甚至超过一天;另一些却如盖世太保,5分钟空闲就终止你的会话。

I finally got tired of my ssh sessions getting disconnected at places where I don't control the firewalls, and figured out how to stop it. 

我最终疲于我的ssh连接会话被我不能控制的防火墙断开,并找出了阻止它的方案。

Turn out ssh has a nice inband keepalive mechanism, and even lets you set it on a per-destination basis.

结论是ssh内带有一个很好的保持会话存活机制,甚至允许你在每一台目标机器上设置。 

Just create a ~/.ssh/config file with something like the following (* will match any host, if you wanted you could restrict this to particular destinations like *kehlet.cx):

只要用以下类似的内容创建一个 ~/.ssh/config文件(*号将匹配所有的主机,如果你想,你可以严格的设置它为特定的目标主机,像kehlet.cx):

----------------

Host *

ServerAliveInterval 240

----------------

That's how often, in seconds, ssh will send a keepalive request (at the application layer) to the other end if the connection's been otherwise idle. 4 minutes should be good :-). 

这通常是以秒为单位,如果这个连接空闲,ssh将发送一个保持存活的请求(在应用层)给另一端。4分钟应该不错。

The Host line lets you pattern match your destinations. Minimal effort, no impact to your system (say, as you would have if you mucked with your system's default TCP keepalive settings), and it works like a charm.

Host行使你匹配你的目标主机。极小的努力,对你的系统毫无影响(即,如果你弄乱你的系统默认TCP保持存活时间设置的话,将影响你的系统),并且很有效。

 

分享到:
评论

相关推荐

    ssh修改超时自动登出时间的方法

    众所周知,当我们通过ssh远程登录到另一台服务器之后,如果长时间不做操作,那么会被服务器自动登出,并且会告诉你timed out waiting for input: auto-logout。如果不通过tmux这些辅助工具来维持session的话,那么...

    等保测评:Centos超时退出问题

    这个是比较通用、简单的方式,通过设置TMOUT,就可以至少对本地tty登录和远程使用ssh登录的用户起作用,但应该对图形化界面无效,当然进入图形化界面你再打开终端,对于打开的终端也是起作用的。 2.1. 实现方式 在/...

    mssh:mssh 是一个批处理执行 ssh 命令的工具

    #mssh使用帮助 ##1、工具介绍 mssh是一个批量远程ssh执行命令的工具。 它具有稳定、高效、准确,执行灵活方便,可以大幅度提高日常工作效率。 它的思想是:只用给它提供执行...可以自定义超时时间 支持配置文件和命令行

    ssh-keyscan命令 收集主机的ssh公钥

    ssh-keyscan命令是一个收集大量主机公钥的实用工具。...指定连接尝试的超时时间 -t 指定要创建的密钥类型 -v 信息模式,打印调试信息 参考实例 收集主机ssh公钥,并输出调试信息: [root@linuxcoo

    python paramiko实现ssh远程访问的方法

    #设置ssh连接的远程主机地址和端口t=paramiko.Transport((ip,port))#设置登录名和密码t.connect(username=username,password=password)#连接成功后打开一个channelchan=t.open_session()#设置会话超时时间chan....

    解决阿里云ssh远程连接短时间就会断掉的问题

    那我们就排除了是软件的问题,接下来要排查ssh服务,是否是sshd配置文件做了一些限定。 问题解决 1. 打开sshd的配置文件 [root@ecs-c13b ~]# vim /etc/ssh/sshd_config 修改下面两行: 2. 修改如下参数 C

    python入门教程:python 通过SSHTunnelForwarder隧道连接redis的方法

    连接原理:使用SSHTunnelForwarder模块,通过本地22端口ssh到跳板机,然后本地开启一个转发端口给跳板机远程Redis服务使用。 两种思路: 1、通过SSHTunnelForwarder,paramiko模块,先ssh到跳板机,然后在跳板机上...

    Linux ssh远程连接断开问题处理办法解决

    我们在通过远程连接操作Linux server的时候,有可能过一段时间忘记操作,便会发生ssh断开的...echo TMOUT=600 >> ~/.bashrc 或 echo TMOUT=600 >> /etc/profile 设置一个超时的秒数,600秒后终端上没有任何操作便

    gansible:Gansible是一种轻量级的cli工具,用于在多个设备上并行执行命令

    可设置ssh连接超时时间。至少90秒,可通过--ssh-timeout参数设置。 以gansible,json,yaml格式输出任务结果,替换gansible。 以log,csv,json,yaml格式保存。通过--loging指定保存日志(默认不保存)。通过--log-...

    如何更改Linux(CentOS)系统下的MySQL数据库目录位置

    如何更改CentOS系统下的MySQL数据库目录位置 1、首先我们需要关闭MySQL,命令如下: service mysqld stop ...如果数据库比较大的话,时间会比较长,可能会超时,具体怎么设置ssh不超时的办法,请大家自己找相

    gaoljhy#blog#expect用法1

    基本上认识英文的都知道这是设置超时时间的,现在只要记住他的计时单位是:秒spawn是进入expect环境后才可以执行的expect内部命令,如果没有装expec

    linux系统漏洞加固

    5.2 检查是否设置命令行界面超时退出(高危) 5.3 检查是否关闭不必要的服务和端口(高危) 5.4 检查是否关闭系统信任机制(高危) 5.5 检查是否删除了潜在危险文件(高危) 5.6 检查系统core dump设置(中危) ...

    FileZilla(全能FTP客户端)3.9中文版.rar

    超时设置,如果一次操作中,在指定的时间长度内没有发出或接收到数据,连接将被关闭,FileZilla会尝试自动重新连接。重连设置,如果你过于频繁的尝试连接,或者间隔过短,某些服务会阻止你。默认情况下使用任何可用...

    Linux下实现不活动用户登录超时后自动登出

    方法一:通过修改.bashrc或.bash_profile文件来实现 通过修改home目录下的.bashrc或.bash_profile文件来实现。这两个文件选择其中一个在末尾加入如下一行,具体操作如下: ...以上我们设置用户自动登出时间为9

    系统基线安全检查配置文档,适用于windows以及Linux系统

    1.2.5 RDP 远程用户登录空闲超时小于 10 分钟 1.3 远程管理策略 1.3.1 终端已关闭远程服务 1.3.2 远程登录加密级别为高级别,3 为高级别 1.3.3 远程端口服务为 SSH 或 HTTPS 2 访问控制合规项检测 2.1 默认账户检测 ...

    aws-ec2-instance-connect-config:这是ssh守护程序配置和必要的EC2实例脚本,用于启用EC2实例连接。 还包括用于各种Linux发行版的打包的各种包管理器配置。

    AuthorizedKeysCommand AuthorizedKeysCommand分为三个部分: eic_run_authorized_keys是主要入口点,其余部分将在5秒的超时时间内结束eic_curl_authorized_keys,它是ssh调用上sshd的入口点eic_parse_authorized_...

    Linux运维面试总结

    如果这个时候 DNS 的反向解析不正确,sshd 就会等到 DNS 解析超时后才提供 ssh 连接,这样就造成连接时间过长、ssh 客户端等待的情况,一般为10-30秒左右。有个简单的解决办法就是在 sshd 的配置文件(sshd_config)...

    Python netmiko模块的使用

    此模块用于简化paramiko与网络设备之间的ssh连接,可在windows与Unix平台使用  二、目前支持的设备 (2019.03.07) Regularly tested Arista vEOS Cisco ASA Cisco IOS Cisco IOS-XE Cisco IOS-XR Cisco NX-...

    NAT-TCP-test

    这样,我们可以发现NAT断开连接之前的超时时间。 测试将在启动时产生130个连接,并在1分钟后测试第一个连接,在2分钟后测试第二个,依此类推(共2小时10分钟)。 tcp-send-test可以做到这一点。

Global site tag (gtag.js) - Google Analytics