ssh会话空闲超时

我们大部分开发工作的Solaris机器都有一个恼人的SSH会话超时习惯。 无论客户端是我的Ubuntu桌面,我的Solaris桌面还是我的Windows桌面(putty); 共同的因素是大型的Solaris机器。

有什么我可以做的,以阻止这种情况发生? 当你rest午餐时,这是很烦人的,而terminal会话你已经打开并且configuration得很精致,所以你需要把它们全部杀死,重新build立所有的上下文。

是。 configurationSSH发送Keepalive报文 。

我发现keepalive行为不起作用。 我尝试添加ServerAliveInterval到〜/ .ssh / config脚本,但是它不能和git一起玩。

我最终做的是添加一个时间戳到我的“屏幕”状态栏。 这是足够的活动来保持连接。

您也可以configurationPutty发送保持活动的数据包。

在设置,连接,Keepalives之间的秒。

首先,你需要确定它是你的shell还是ssh。 testing,ssh进入你的远程机器,vi或更less的文件。

如果很长一段时间你仍然可以在/ vi左右移动,那么ssh就可以了。 在这种情况下,确定你正在使用的是什么shell,并禁用超时。 这很可能是你的时间,而不是SSH的shell。 但是,一些防火墙会closures空闲会话,如果不发送。

Solarispipe理员可能会阻止您通过将设置设置为只读来禁用shell中的超时。 这不太可能,但可能。 你通常可以通过使用不同的shell来解决这个问题。

如果你再次重新configuration你的shell,你可以使用GNU屏幕。 如果您的SSH会话超时,只需再次login并重新连接,您的shell就会像以前一样。

如果在Solaris机器上运行tcsh,则可以设置autologoutvariables。 如果你设置为0(设置自动注销= 0)或取消设置(取消设置自动注销),它将停止注销。

这可能是一个红鲱鱼,但尝试

unset TMOUT 

在你的shell提示符下。 这在过去对我来说确实有效,但我不记得它是否仅限于某些架构(或shell)。

input您的shellconfiguration文件

导出TMOUT = 0

export TIMEOUT = 0

你可以在另一个terminal上运行? 这应该产生正常的stream量?

Spinner听起来像是解决您的问题的完美scheme。 它定期发送会话中的字符,以防止超时。

我一直在linux / bsd服务器上用'ClientAliveInterval 300'取得成功。

/etc/ssh/sshd_config检查你的sshdconfiguration,如下所示:

 ClientAliveInterval 600 ClientAliveCountMax 0