前言
在修改服务器的一些文件的过程中,经常碰到的情况就是需要隔一段时间修改一下文件,然后需要去查阅相关的资料,等下一次想修改的时候发现ssh连接由于长时间未相应已经断开了。而且这时候终端会卡在那里,十分的不方便。所以在网上找了几个配置SSH的方法,能保证连接能够长时间不断开。
方法有两种,一般配置一种就可以。但是我为了效果更好,把他们同时配置一下:
客户端
在/etc/ssh/ssh_config
配置文件中,将Host *
后面添加ServerAliveInterval 30
,再保存即可。
那么这个条目哪来的呢?其实在他配置文件本身早就有这个的说明了。
打开配置文件/etc/ssh/ssh_config
,我们大概会看到这样的样子:
1 | # This is the ssh client system-wide configuration file. See |
注意到在最后有很多的注释掉的配置,很明显,这就是常用的可选条目。但是看了下并没有我们想配置的内容。
再仔细的看了下开头的说明,注意到有这样一句话:# ssh_config(5) man page.
,哦~,原来这个配置文件有man文档,OK,打开之后果然在当中找到了这样的配置:
1 | ServerAliveInterval |
那么一切都清楚了~~~原理就是让客户端每隔一段时间向服务端发送信息来保持唤醒。
服务端
服务段的原理和客户端一样,只不过由于是服务器,所以配置文件不一样。服务端的配置文件是/etc/ssh/sshd_config
。查看man sshd_config
,我们可以看到这样两个配置:
1 | ClientAliveCountMax |
1 | ClientAliveInterval |
根据说明,添加如下两行即可:
1 | ClientAliveInterval 60 |
这样就可以保证连接始终唤醒了。