SSH会话不活动configuration?

我正试图将选项或选项的组合强制为零,这将强制每个SSH会话在指定时间内处于非活动状态时被终止。 我使用Putty来SSH到RHEL AS3服务器; Keepalive被设置为“closures”(0)用于Putty,而Keepalive在ssh_config和sshd_config文件中被注释掉。

我已经谷歌反弹到不同的地方,我发现了一些在ServerFault上的消息,但我希望find一个“具体的”解决scheme。 我试过修改/ etc / ssh / sshd_config文件:

ClientAliveInterval 15 ClientAliveCountMax 1

(testing15秒)

然后重新启动SSH:

/ sbin / service sshd restart

但没有运气; 会议从未超时(23分钟后再次检查)。 我也尝试修改“keepalive”内核参数:

%echo“60”> / proc / sys / net / ipv4 / tcp_keepalive_time(默认为7200)

%echo“1”> / proc / sys / net / ipv4 / tcp_keepalive_probes(默认为9)

%echo“5”> / proc / sys / net / ipv4 / tcp_keepalive_intvl(默认为75)

但会议仍然活跃(8分钟后回来)。 任何帮助,我失踪了什么拼图将不胜感激。 谢谢!

— DT

我在〜/ .bashrc中使用export TMOUT=3600来closures1小时后的非活动会话。

大部分你正在设置看tcp设置。 你需要告诉你的shell将你注销。 关于一小时设置TMOUT = 3600的评论是我已经取得的成绩。 你可能想把它放在全局configuration文件( /etc/profile

tcp keepalive是所有的数据包发送保持一个TCP会话活动的频率。 例如,如果一分钟内没有stream量,并且tcp保持活动状态设置为60秒,则会发送保持活动的数据包以保持会话活动。 这是对各种tcpvariables的合理描述

我有ClientAliveInterval 600 ClientAliveCountMax 0,它的工作原理

你有没有尝试设置IdleTimeout值? 这是一个旧的设置,但我不知道你运行的是什么版本的SSH,所以它可能仍然有效。 您也可以在客户端设置空闲超时。 就我个人而言,我会将保持活动的设置提升到通常会设置的值,比如600秒的3个keepalive,看看是否有效。

我是闲散的粉丝。 是的,这是一个额外的用户空间守护进程,但它的工作很好。

http://www.itworld.com/nls_unix_login2

源码包: http : //sourceforge.net/projects/idled/files/idled/

(原始链接是: http : //www.netsw.org/system/tools/process/,但现在似乎下降了)

你有没有检查与你的服务器IP冲突? 在使用VMWare Workstation搭buildCentOS虚拟服务器并使用桥接选项时,我遇到过这种情况。 虚拟服务器起初工作正常,但大约一个小时后,我的腻子ssh会话与服务器断开连接重试后,很快。

如果你想超时使用ssh非交互式地启动远程命令,你可以使用这样的东西:

 ( sleep $timeout && kill -9 0 ) 2>/dev/null & $cmd; RC=$? ; pkill -P $! ; exit $RC;