最近有个需求,根据Linux操作系统上的syslog进行数据统计,如果我们从Linux退出,有可能是主动的,例如执行指令exit,退出当前会话,另外一种可能是会话出现了超时,被动退出的,如何能识别具体的类型?
通过SSH远程登录的场景都需要遵照协议《Secure Shell (SSH) Protocol Parameters》,其中给出了Disconnection Messages Reason Codes and Descriptions和退出相关的原因定义,如下所示,

链接,
https://www.iana.org/assignments/ssh-parameters/ssh-parameters.xhtml
接着可以参照《RFC4253》,给出更多讲解,例如正常退出,一般值是11,SSH_DISCONNECT_BY_APPLICATION,

链接,https://www.rfc-editor.org/rfc/rfc4253.html