文章目录
- 1. 问题描述
- 2. 配置SSH设置
- 2.1 调整服务器端的设置
- 2.2 调整客户端的设置
- 3. 调整用户断开时长
1. 问题描述
SSH 远程连接断开是一个常见的问题,尤其是在网络不稳定或长时间没有活动时。文本介绍一些常见的方法和技巧来保持 SSH 连接稳定和避免断开。
2. 配置SSH设置
SSH远程连接断开是一个常见的问题,尤其是在网络不稳定或长时间没有活动时。以下是一些常见的方法和技巧来保持 SSH 连接稳定和避免断开:
2.1 调整服务器端的设置
在服务器上修改 SSH 配置文件 sshd_config
:
sudo vim /etc/ssh/sshd_config
找到以下两行并取消注释或添加它们:
ClientAliveInterval 30
ClientAliveCountMax 6
- ClientAliveInterval: 服务器向客户端发送保持活动请求的时间间隔(秒)。
- ClientAliveCountMax: 服务器在断开连接前允许的最大未响应请求数。
例如,上述设置表示每30秒发送一次心跳包,如果6次都没有响应(大约3分钟),则断开连接。
保存并关闭文件,然后重启 SSH 服务:
sudo systemctl restart sshd
2.2 调整客户端的设置
在客户端的 SSH 配置文件 ssh_config
中进行设置:
vim ~/.ssh/config
添加以下内容:
Host *
ServerAliveInterval 30
ServerAliveCountMax 6
- ServerAliveInterval: 客户端向服务器发送保持活动请求的时间间隔(秒)。
- ServerAliveCountMax: 客户端在断开连接前允许的最大未响应请求数。
3. 调整用户断开时长
TMOUT
的含义:
TMOUT
变量表示 shell 会话的自动注销时间(以秒为单位)。- 如果一个交互式 shell 会话在指定的时间内没有任何输入活动,则会自动注销该会话。
以下是在 /etc/profile
文件中设置 TMOUT
的示例:
# 编辑 /etc/profile 文件
sudo vim /etc/profile
# 在文件中添加以下行
TMOUT=6000
上面的配置表示,如果 shell 会话在 6000 秒(100 分钟)内没有任何活动,它将自动注销。
修改 /etc/profile
文件后,手动加载配置文件来应用更改:
# 手动加载 /etc/profile
source /etc/profile
注意事项:/etc/profile
文件中的设置对系统上的所有用户都生效。如果只想为某个特定用户设置 TMOUT
,可以在该用户的 ~/.bashrc
或 ~/.bash_profile
文件中进行设置。
欢迎关注本人,我是喜欢搞事的程序猿; 一起进步,一起学习;
欢迎关注知乎/CSDN:SmallerFL
也欢迎关注我的wx公众号(精选高质量文章):一个比特定乾坤