linux ssh 持久连接

用客户端连接linux服务器,经常服务器经常踢开用户,很麻烦,为了一直保持连接,最少白天工作时一直连接。

  1. 在服务器端修改;
  2. 在客户端修改,所谓的客户端是指本身也是linux机器,可能是另一台server,或者是linux本地机。
  3. 对于windows系统下,修改远程登录软件的参数配置。

一、配置服务端持久连接

编辑服务器 /etc/ssh/sshd_config,最后增加

#server每隔60秒发送一次请求给client,然后client响应,从而保持连接
ClientAliveInterval 60  

#server发出请求后,客户端没有响应得次数达到3,就自动断开连接,正常情况下,client不会不响应。
ClientAliveCountMax 3

修改后需要重启sshd服务

二、配置客户端持久连接

实际上就是说,在客户端这里修改ssh的配置文件或者是(终端工具的session的配置),让ssh会主动定时发送消息,这样使得连接不会一段时间不操作后中断。

下面是设置ssh配置文件的方式来配置ssh持久连接

#vim /etc/ssh/ssh_config
(注意不是/etc/ssh/sshd_config文件,这个是server的)
在后面添加

#client每隔60秒发送一次请求给server,然后server响应,从而保持连接
ServerAliveInterval 60 

#client发出请求后,服务器端没有响应得次数达到3,就自动断开连接,正常情况下,server不会不响应
ServerAliveCountMax 3  

这表示要让所有的ssh连接自动加上此属性。

如果要指定服务端,如下:

使用-o的参数ServerAliveInterval来设置一个防止超时的时间
ssh -o ServerAliveInterval=60 IP地址 

譬如 ssh -o ServerAliveInterval=60 [email protected]

三、对于windows系统的软件

使用SecureCRT连接远程服务器,在会话(session)选项 -> 终端设置中勾选"发送协议 NO-OP"。
使用putty连接远程服务器,找到Connection -> Seconds between keepalives ( 0 to turn off ), 默认为0,改为60。

猜你喜欢

转载自blog.csdn.net/m0_37886429/article/details/83010909