我使用ssh -p8520 username@remote_host登录远程服务器。
问题:
当我在工作场所时,它总是连接并正常工作。不幸的是,在我从家里连接到远程服务器后,终端死机了10 - 15分钟。
控制台上没有错误/超时报告,但光标不能再移动了。
当输入w检查登录用户时,有一些僵尸登录用户在那里,我必须手动杀死他们。
这很烦人。有人能帮帮我吗?
我使用ssh -p8520 username@remote_host登录远程服务器。
问题:
当我在工作场所时,它总是连接并正常工作。不幸的是,在我从家里连接到远程服务器后,终端死机了10 - 15分钟。
控制台上没有错误/超时报告,但光标不能再移动了。
当输入w检查登录用户时,有一些僵尸登录用户在那里,我必须手动杀死他们。
这很烦人。有人能帮帮我吗?
当前回答
用户可以在这里设置选项
其他回答
运行服务器端的ssh守护进程(sshd),如果客户端沉默(即不发送信息),它将从服务器端关闭连接。为了防止连接丢失,可以指示ssh客户端偶尔向服务器发送一个sign-of-life信号。
该配置在文件$HOME/中。Ssh /config,如果配置文件不存在,则创建该文件(配置文件不能是世界可读的,因此执行chmod 600 ~/。Ssh /config创建文件后)。要每隔4分钟(240秒)向远程主机发送一次信号,请在配置文件中放入以下内容:
Host remotehost
HostName remotehost.com
ServerAliveInterval 240
为了使所有主机都能发送keep-alive信号,在配置文件中设置如下内容:
Host *
ServerAliveInterval 240
@edward-coast
如果你想为服务器设置keep alive,添加到/etc/ssh/sshd_config:
ClientAliveInterval 60
ClientAliveCountMax 2
ClientAliveInterval:设置一个超时时间间隔(以秒为单位),如果没有从客户端接收到数据,sshd(8)将通过加密通道发送消息请求客户端响应。 ClientAliveCountMax: 设置客户端活动消息的数量(见下文),这些消息可以在没有sshd(8)从客户端接收任何消息的情况下发送。如果在发送客户端活动消息时达到此阈值,sshd将断开客户端连接,终止会话。
我想要一个一次性的解决方案:
ssh -o ServerAliveInterval=60 myname@myhost.com
存储在一个别名中:
alias sshprod='ssh -v -o ServerAliveInterval=60 myname@myhost.com'
现在可以这样连接:
me@MyMachine:~$ sshprod
用户可以在这里设置选项
我们可以通过以下全局配置来保持ssh连接存活
在/etc/ssh/ssh_config文件中增加如下一行:
ServerAliveInterval 60