linux服务器修改终端会话时间的操作
在 Linux 命令行终端中,如果你希望保持会话不断线(例如,SSH 会话长时间不操作也不被断开),可以通过以下几种方法来设置 “不掉线”时间或防止超时。
# 🧩 一、修改 SSH 服务端配置(服务器端)
适用于你通过 SSH 登录远程服务器,想要防止 SSH 连接自动断开。
# 步骤:
使用
root
或有权限的用户编辑配置文件:sudo nano /etc/ssh/sshd_config
1添加或修改以下两项:
ClientAliveInterval 60 ClientAliveCountMax 120
1
2含义:
ClientAliveInterval 60
: 每60秒发送一个心跳包;ClientAliveCountMax 120
: 最多发送120次(也就是最多 2 小时不操作仍保持连接);
保存后重启 SSH 服务:
sudo systemctl restart sshd
1
# 🧩 二、修改 SSH 客户端配置(客户端)
适用于你不想本地 SSH 断线,可以让客户端发心跳包。
修改或创建客户端配置文件:
nano ~/.ssh/config
1添加以下内容:
Host * ServerAliveInterval 60 ServerAliveCountMax 120
1
2
3同样表示客户端每 60 秒发一次心跳包,最多尝试 120 次(约 2 小时)。
# 🧩 三、使用 tmux
或 screen
保持会话(推荐)
使用 tmux
或 screen
,即使 SSH 断了,你的程序或命令仍然运行。
# 安装 tmux(如果未安装):
sudo apt install tmux # Debian/Ubuntu
sudo yum install tmux # CentOS
1
2
2
# 使用 tmux:
tmux # 启动一个会话
<运行你的程序>
Ctrl + b 然后 d # 分离(detach)会话
tmux attach # 重新连接会话
1
2
3
4
2
3
4
优点:即使 SSH 掉线,程序仍运行,重新连接后可以继续。
# 🧩 四、通过 export TMOUT
设置自动退出时间(可用于防止或强制定时退出)
如果你要设置自动退出时间,可以设置这个环境变量:
export TMOUT=0
1
含义:
TMOUT=0
: 永不自动退出;TMOUT=600
: 10分钟无操作自动退出 shell;
你可以把这行加到 .bashrc
或 .zshrc
文件里:
echo 'export TMOUT=0' >> ~/.bashrc
source ~/.bashrc
1
2
2
# ✅ 总结推荐
场景 | 建议方案 |
---|---|
SSH 老是断 | 修改 sshd_config 和/或 ~/.ssh/config 发心跳包 |
长时间运行程序 | 使用 tmux 或 screen |
不想 shell 自动退出 | export TMOUT=0 |
如果你能告诉我你用的是哪种终端(如:本地终端、SSH 远程登录、图形界面终端),我可以给出更具体的设置建议。


上次更新: 2025/07/22, 09:29:29