服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

SSH远程端口转发失败

跟进:看起来像是几个月运行每个服务器的快速断开连接可能是巧合,只是用来揭示实际的问题。 无法重新连接的原因几乎可以肯定是由于AliveInterval值(kasperd的答案)。 使用ExitOnForwardFailure选项应允许在重新连接之前正确地执行超时,这在大多数情况下应该解决问题。 MadHatter的build议(杀死脚本)可能是确保隧道可以重新连接,即使其他一切都失败的最好方法。 我有一台防火墙后面的服务器(A),它在几个端口上启动一个反向隧道到一个小的DigitalOcean VPS(B),所以我可以通过B的IP地址连接到A。 隧道一直工作了大约3个月,但在过去24小时内突然失败了四次。 同样的事情发生在另一个VPS提供商身上 – 几个月的完美运营,然后突然发生了多个快速失败。 我在机器A上有一个脚本,它会自动执行隧道命令( ssh -R *:X:localhost:X address_of_B对于每个端口X),但是当它执行时, Warning: remote port forwarding failed for listen port X 。 进入服务器上的sshd /var/log/secure显示以下错误: bind: Address already in use error: bind: Address already in use error: channel_setup_fwd_listener: cannot listen to port: X 解决需要重新启动VPS。 在此之前,所有尝试重新连接都会导致“远程端口转发失败”消息,并且无法工作。 现在到隧道只停留约4个小时的地步。 VPS上没有任何改变,它是一个单用户,单用户机器,只能作为反向隧道端点。 它在CentOS 6.5上运行OpenSSH_5.3p1。 看来sshd在连接丢失的时候并没有closures端口。 我无法解释为什么,或者为什么在经过几个月的几乎完美的操作后突然发生。 为了澄清一下,我首先需要弄清楚为什么sshd在隧道失败后拒绝监听端口,这似乎是由于sshd将端口打开并且从不closures端口引起的。 这似乎是主要的问题。 […]