作者:张华 发表于:2016-05-17
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明
( http://blog.csdn.net/quqi99 )
SSH连接总是隔一段时间没有输入时就断开,解决办法如下:
服务端配置
sudo vi /etc/ssh/sshd_config
ClientAliveInterval 60 #服务端主动向客户端请求响应的间隔
ClientAliveCountMax 1 #服务器发出请求后客户端没有响应的次数达到一定值就自动断开
sudo restart ssh
客户端配置
sudo vi /etc/ssh/ssh_config
ServerAliveInterval 30 #客户端主动向服务端请求响应的间隔
或
ssh -i -o StrictHostKeyChecking=no -o TCPKeepAlive=yes -o ServerAliveInterval=30 ubuntu@
2. ssh防止连接掉线
http://blog.csdn.net/SUKHOI27SMK/article/details/48264021
TCPKeepAlive=yes
ServerAliveInterval=15
ServerAliveCountMax=6
有些时候隧道会因为一些原因通信不畅而卡死,例如:由于传输数据量太大,被路由器带入stalled状态。这种时候,往往SSH客户端并不退出,而是卡死在那里。一种应对方法是,使用SSH客户端的ServerAliveInterval和ServerAliveCountMax选项。
ServerAliveInterval会在隧道无通信后的一段设置好的时间后发送一个请求给服务器要求服务器响应。如果服务器在
ServerAliveCountMax次请求后都没能响应,那么SSH客户端就自动断开连接并退出,将控制权交给你的监控程序。这两个选项的设置方法分别是在ssh时加入-o
ServerAliveInterval=n和-o ServerAliveCountMax=m。其中n, m可以自行定义。
StrictHostKeyChecking=no
"StrictHostKeyChecking"如果设为"yes",ssh将不会自动把计算机的密匙加入"$HOME/.ssh/known_hosts"文件,且一旦计算机的密匙发生了变化,就拒绝连接。
ForwardAgent=yes
Compression=yes
http://blog.csdn.net/ownfire/article/details/70156959
找到下面两行
#ClientAliveInterval 0
#ClientAliveCountMax 3
去掉注释,改成
ClientAliveInterval 30
ClientAliveCountMax 86400
这两行的意思分别是
1、客户端每隔多少秒向服务发送一个心跳数据
2、客户端多少秒没有相应,服务器自动断掉连接
重启sshd服务
#service sshd restart
网友评论