在使用ssh命令或者shell工具(比如iterm、putty、xshell等)用ssh链接服务端时,一段时间不操作或屏幕没输出(比如复制文件)的时候,就会自动断开连接,这样会搞的挺烦的
针对这个问题,通常有两种解决方案
1、配置客户端持久连接
实际上就是说,在客户端这里修改ssh的配置文件或者是(终端工具的session的配置),让ssh会主动定时发送消息,这样使得连接不会一段时间不操作后中断。
下面是设置ssh配置文件的方式来配置ssh持久连接
#vi /etc/ssh/ssh_config
(注意不是/etc/ssh/sshd_config文件,这个是server的)
在后面添加
Host *
ServerAliveInterval 30
这表示要让所有的ssh连接自动加上此属性;如果要指定服务端,如下:
使用-o的参数ServerAliveInterval来设置一个防止超时的时间
ssh -o ServerAliveInterval=30 IP地址
譬如ssh -o ServerAliveInterval=30 root@123.123.123.123
2、配置服务端持久连接
这个跟方法一类似,总的来说方法一是让客户端来定期发起消息,来保持连接;这个则是让服务器的ssh server定时发消息,来保持连接。如果能设置方法一的话,不建议使用方法二,增加server负担
编辑服务器 /etc/ssh/sshd_config,最后增加
ClientAliveInterval 60
ClientAliveCountMax 1
这 样,SSH Server 每 60 秒就会自动发送一个信号给 Client,而等待 Client 回应