autossh自动登陆日志分析
autossh通过对ssh进行包装,保证ssh和sshd的连接因为各种原因(大部分是网络原因)中断的时候,会自动不断重试,直到重新连接上.
我们有两台机器
192.168.162.50是client,192.168.162.51是server.使用如下的命令autossh命令从client登陆server.
AUTOSSH_DEBUG=1 AUTOSSH_LOGFILE=/tmp/autossh.log AUTOSSH_POLL=5 autossh 192.168.162.51
其中3个AUTOSSH开头的环境变量是为了看到日志设置的,大部分情况下不用设置.直接用autossh替换ssh就可以了
autossh 192.168.162.51
正常登陆的情况如下:

正常情况下,每隔POLL时间就来进行一次连通测试,会发现是通的. 下面是通的情况下的日志.

当因为网络或者其他原因导致连接不通了之后,日志会显示不通了,然后再不断的重启ssh子进程来重试连接. 从日志可以看到ssh子进程的pid一直在变,通过ps auxf也可以看到ssh子进程一直在出现,消失.

本文详细分析了autossh如何通过包装ssh确保在因网络问题导致连接中断时自动重试并重新连接。在正常情况下,autossh每隔一定时间进行连通性测试。当连接断开时,autossh会不断重启ssh子进程尝试重新连接,并通过监听write和read端口进行健康检查。在client端,autossh寻找可用端口,通过-L和-R选项设置数据传输通道,确保数据能从写端口返回到读端口,从而维持连接的稳定性。
最低0.47元/天 解锁文章
2579

被折叠的 条评论
为什么被折叠?



