SSH客户端会话超时的解决方案

背景

通常默认公有云上的ECS远程连接,很容易断开,当你有什么事情被打断或者去操作别的机器同步做点其他事情,你会发现你SSH客户端登录窗口经常会断开掉,非常烦人,经常要重新登录。
如果用一些Windows下客户端软件比如XShell or CRT都会有超时时间和心跳检测次数设置,但是默认Mac下的终端 Or Linux下直接远程命令客户端是没有这个设置窗口的。
SSH Client会从以下途径获取配置参数:

  1. SSH命令行参数;
  2. 用户配置文件 (~/.ssh/config);
  3. 系统配置文件 (/etc/ssh/ssh_config)。

方法1

1
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=30 root@10.0.1.25 -p22

方法2

1
2
3
4
$ vim ~/.ssh/config #添加如下内容
Host *
ServerAliveInterval 60
ServerAliveCountMax 30

方法3

1
2
3
4
5
6
$ vim /etc/ssh/ssh_config # 在Host *下面添加:

Host *
SendEnv LANG LC_*
ServerAliveInterval 60
ServerAliveCountMax 30

如果三个都设置了,读取顺序是 方法1 —> 方法2 —> 方法3

请我喝杯咖啡吧~

支付宝
微信