linux ssh连接保持和重用.md
连接保持
方案一:在客户端设置
方法很简单,只需在客户端电脑上编辑(需要root权限)/etc/ssh/ssh_config或~/.ssh/config,并添加如下一行:
ServerAliveInterval 60
这样ssh会每60秒发送一个KeepAlive请求,保证终端不会因为超时空闲而断开连接。
方案二:在服务器端设置
如果有相应的权限,也可以在服务器端设置,即编辑/etc/ssh/sshd_config,并添加:
TCPKeepAlive yes # 必须打开,表示TCP保持连接不断开
ClientAliveInterval 60 # ClientAliveInterval设置的值要小于各层防火墙的最小值,不然,也就没用了。)
重启SSH服务器后该项设置会生效。每一个连接到此服务器上的客户端都会受其影响。应注意启用该功能后,安全性会有一定下降(比如忘记登出时…)
重启
sudo /etc/init.d/ssh restart
重用
ssh提供了连接重用功能,这个功能的原理很简单,开一个ssh连接放在后台,以后再需要用ssh到同样的远程主机时,ssh会直接用这 个连接的socket文件,不再创建新的连接了只需要新建文件~/.ssh/config并输 入如下命令即可:
Host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
仅供参考