Linux下设置会话最大空闲时间TMOUT(会话超时时间)

摘要:这篇文章主要就是帮助初学Linux的同学们,在某些特定的情况下需要设置会话连接的过期时间TMOUT。这篇文章是使用xshell下进行会话连接操作的。

这篇文章的目的就是修改环境变量来设置会话的过期时间,在此之前我是已经测试过设置xshell的重新连接以及保持活动状态,都不能使会话的过期时间延长。

在Xshell的设置

 在服务端设置

先输入命令:切换到ssh的目录下

cd /etc/ssh

修改ssh目录下sshd_config文件命令:

vim sshd_config

找到 ClientAliveInterval 0和ClientAliveCountMax 3并将注释符号("#")去掉,

将ClientAliveInterval对应的0改成60,ClientAliveInterval指定了服务器端向客户端请求消息 的时间间隔, 默认是0, 不发送.

ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了.

ClientAliveCountMax, 使用默认值3即可.ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开.

重启ssh服务:service sshd restart

其实上述不管是在xshell客户端还是服务端其实你只需要设置一个地方就可以,如果上述方法不行,那么你就需要继续往下看看了。

了解什么是TMOUT

TMOUT是一个系统环境变量,用于设置用户的登录会话超时时间。它决定了在用户处于非活动状态一段时间后,系统将自动终止他们的会话并注销用户。

为什么要设置TMOUT的过期时间

设置 TMOUT 环境变量的过期时间主要出于安全和资源管理的考虑。

安全性:在一些情况下,用户可能会忘记注销或离开计算机,但他们的会话仍然保持活动状态。这种情况下,其他人可以通过访问该会话来获得未经授权的访问权限。通过设置 TMOUT 环境变量的过期时间,系统可以自动终止空闲会话并注销用户,从而减少未经授权的访问风险。

资源管理:长时间保持空闲会话可能会占用系统资源,如内存、进程等。特别是在服务器环境下,当有大量用户同时登录时,空闲会话将占用宝贵的系统资源,可能影响系统性能和可用性。通过设置 TMOUT 环境变量的过期时间,可以强制空闲会话自动注销,及时释放系统资源。

设置过期时间还有助于减少攻击者利用长时间空闲会话进行恶意活动的机会,因为他们无法在会话超时前保持持续访问。

查看系统TMOUT的值

首先我们可以通过命令看一下当前终端的TMOUT的过期时间是多久。

命令

echo $TMOUT 

 解决方法

(1)方法一:只设置当前打开的这个终端的会话的连接时长

命令 :单位秒(s)

export TMOUT=值

 注意:等号两边不要有空格会出错;这个设置只是当前这个终端有效,下次连接这个ip终端的时候,TMOUT的过期时间还是全局设置TMOUT的一个过期时间。如果你想要后续打开不需要通过上述命令重新设置这个会话的过期时间,那么你可以参照方案二设置全局的TMOUT的过期时间。到了我们设置的值之后会自动断开。

 (2)方法二:设置全局的TMOUT的会话过期时间

首先找到全局配置TMOUT的文件,一般都是在ect目录下,所以当我们连接上终端后,直接输入如下命令:

cd /etc

切换到这个目录下,然后找到profile这个文件,输入命令:

vim profile(编辑文件)

进入这个文件的中,找到export TMOUT=值 把这个值修改成为你想要过期的那个时间即可,单位也是秒(s)。保存并退出。

:TMOUT=值的等号两边是没有空格的。

执行如下命令:立即生效

source /etc/profile

注:当 TMOUT 被设置为 0(零)时,终端会话将永远不会超时,不会自动注销用户。这意味着终端会话可以一直保持活动状态,直到用户手动退出或关闭会话。

猜你喜欢

转载自blog.csdn.net/m0_52985087/article/details/131638525
今日推荐