如何在 Ubuntu 上禁用自动注销?

如何在 Ubuntu 上禁用自动注销?

我使用标准 ssh 客户端从我的 mac 登录到 Ubuntu 10.04LTS 服务器。几分钟不活动后,我的 ssh 会话会自动注销。通常,这是一种很好的安全措施,但有时真的很不方便。我该如何禁用此功能?

答案1

据我所知,Ubuntu 没有标准功能可以注销闲置的 ssh 用户。我现在有一个与 10.04 Ubuntu 计算机的 SSH 连接,该计算机闲置了超过 2 天。

我遇到的这种情况最常见的原因是您和服务器之间的 NAT 或防火墙损坏。发生的情况是状态表中的条目超时,因此除非您继续使用它,否则连接将被重置。请尝试以下操作:

ssh -o TCPKeepAlive=yes -o ServerAliveInterval=15 <user>@<server>

看看你是否一直断开连接。如果是这种情况,请在 ssh 配置中设置这些。请注意,使用这些设置时,路由错误或类似错误会导致你的连接在 45 秒后断开 (ServerAliveInterval * ServerAliveCountMax(默认为 3)),因此你可能需要稍微调整一下 ServerAliveInterval。

答案2

这个 Ubuntu 盒子是您的客户端还是服务器?无论如何,根据我的经验,空闲连接通常由路由器超时,而不是远程超时(并且几乎从不由客户端超时)。

您可以编辑 /etc/ssh/ssh_config 并将此值设置为小于超时所需的时间(以秒为单位):

ServerAliveInterval 360

如果您是服务器,则编辑 sshd_config 并更改:

ClientAliveInterval 360

客户端和服务器将按照这些间隔发送活动数据包,从而在您的连接中创建活动。

答案3

检查您的环境中的TMOUT变量 - 如果它的值大于 0,那么您的 bash 会话将在TMOUT几秒后自动结束。

也请检查和TCPKeepAlive。如果您的网络连接不稳定,这些设置也可能会导致断开连接。ClientAliveInterval/etc/ssh/sshd_config

答案4

这可能不是 SSH 功能,而是您正在使用的 shell 的功能。

针对此类情况,我对 .cshrc 文件进行了以下设置。

 unset autologout

相关内容