我用树莓派做了个端口转发到阿里云服务器,用的是 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 分钟一次未免太有规律了,应该是有什么原因导致的。
比如:
大家可以帮我想想还有其他哪些原因可能会导致这么规律的断掉吗?
问题解决,总结见博客:autossh总是自动重连的探究
1
OceanBreeze 2023-10-11 17:46:50 +08:00
ClientAliveCountMax 配置看看?
|
2
OceanBreeze 2023-10-11 17:51:53 +08:00
|
3
zhanglintc OP @OceanBreeze #2 对,是有点像`AUTOSSH_POLL`的问题,因为它的默认值正好是 10 分钟。所以我设置了`export AUTOSSH_POLL=60;`。
但是可能这样写语法不对吧,我改成那个回答的方法再观察下: `AUTOSSH_POLL=60 sudo autossh XXXXXXXXXXXXXXXXX` |
4
zhanglintc OP @OceanBreeze 嗨呀,应该是找到原因了。
监听端口我设置的是 666 ,那么理应在远端创建一个 0.0.0.0:666 的端口,但是这个是个低位端口,好像远端不允许创建,所以每到 POLL 的 check 时间就出问题了。 然后 autossh 就认为 SSH Error 自动重连了。。。 解决办法就是改成高位端口即可:` sudo autossh -f -M 6666` |
5
zhanglintc OP |