我使用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