V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhanglintc
V2EX  ›  Raspberry Pi

SSH 端口转发 10 分钟左右自动断开一般是什么原因?

  •  
  •   zhanglintc · 199 天前 · 867 次点击
    这是一个创建于 199 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用树莓派做了个端口转发到阿里云服务器,用的是 autossh 来做自动重连。

    观察了 log 发现 ssh 的端口转发会比较稳定的 10 分钟左右断开一次,只是 autossh 自动帮我重连了。

    端口转发的代码大概如下:

    export AUTOSSH_POLL=60; sudo autossh -f -M 666 -N -o "PubkeyAuthentication=yes" -o "StrictHostKeyChecking=false" -o "PasswordAuthentication=no" -o "ServerAliveInterval 10" -o "ServerAliveCountMax 3" -L localhost:1516:localhost:1516 -i /XXXXX/id_rsa [email protected]
    

    虽然我觉得端口转发断掉很正常,但是每 10 分钟一次未免太有规律了,应该是有什么原因导致的。

    比如:

    • ssh 或者 sshd 里有什么变量?
    • 家里的网络服务商给我变了 IP ?

    大家可以帮我想想还有其他哪些原因可能会导致这么规律的断掉吗?

    第 1 条附言  ·  199 天前

    问题解决,总结见博客:autossh总是自动重连的探究

    5 条回复    2023-10-11 22:33:25 +08:00
    OceanBreeze
        1
    OceanBreeze  
       199 天前
    ClientAliveCountMax 配置看看?
    zhanglintc
        3
    zhanglintc  
    OP
       199 天前
    @OceanBreeze #2 对,是有点像`AUTOSSH_POLL`的问题,因为它的默认值正好是 10 分钟。所以我设置了`export AUTOSSH_POLL=60;`。

    但是可能这样写语法不对吧,我改成那个回答的方法再观察下: `AUTOSSH_POLL=60 sudo autossh XXXXXXXXXXXXXXXXX`
    zhanglintc
        4
    zhanglintc  
    OP
       199 天前
    @OceanBreeze 嗨呀,应该是找到原因了。
    监听端口我设置的是 666 ,那么理应在远端创建一个 0.0.0.0:666 的端口,但是这个是个低位端口,好像远端不允许创建,所以每到 POLL 的 check 时间就出问题了。

    然后 autossh 就认为 SSH Error 自动重连了。。。

    解决办法就是改成高位端口即可:` sudo autossh -f -M 6666`
    zhanglintc
        5
    zhanglintc  
    OP
       199 天前   ❤️ 1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1055 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:30 · PVG 02:30 · LAX 11:30 · JFK 14:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.