什么导致 ssh 中断?

c2h*_*2h2 5 ssh putty


究竟是什么导致 ssh 连接中断?当您闲置一段时间时,它会断开连接。

如何保持连接有效(不autossh连接或重新连接)?

wag*_*wag 11

这很可能是一个防火墙,它会在一段时间后切断您的空闲连接。

您可以将openssh服务器或客户端配置为在一段时间后发送 KeepAlive。

每 5 分钟向服务器发送一次 KeepAlive:

ssh user@server -o ServerAliveInterval=300
Run Code Online (Sandbox Code Playgroud)

如果您可以控制openssh-server,您还可以在定义的时间间隔后向客户端发送 KeepAlives。将以下内容添加到/etc/ssh/sshd_config

ClientAliveInterval 300
TCPKeepAlive yes
Run Code Online (Sandbox Code Playgroud)

TCPKeepAlive应该是yes默认的。

openssh-server修改后重启:

/etc/init.d/ssh restart
Run Code Online (Sandbox Code Playgroud)


dog*_*ane 6

您可以尝试以下几点:

1)很可能是外壳超时了。通过TMOUT在您的个人资料中取消设置来禁用超时。TMOUT是 bash 在终止之前等待输入的秒数。echo$TMOUT查看是否设置。将以下内容添加到您的个人资料中:

unset TMOUT
Run Code Online (Sandbox Code Playgroud)

2) 配置 PuTTY 以发送 keepalive 数据包,方法如下:

Settings > Connection > Seconds between keepalives = 60
Run Code Online (Sandbox Code Playgroud)

3) 调整您的sshd_config(通常在 中找到/etc/ssh)并添加:

TCPKeepAlive yes
ClientAliveInterval 60
Run Code Online (Sandbox Code Playgroud)

保存文件并重新启动sshd