Mobaxterm:如何防止 ssh 会话退出?

Jef*_*emi 27 mobaxterm

我该如何阻止?

Session stopped
    - Press <return> to exit tab
    - Press R to restart session
    - Press S to save terminal output to file

Network error: Software caused connection abort
Run Code Online (Sandbox Code Playgroud)

看起来SSH keepalive设置在那里没有影响

小智 59

如果您仍然像我一样在寻找答案,那么就来吧!

设置 -> 配置 -> SSH -> SSH keepalive

https://superuser.com/a/1298536

  • 请记住在更改设置后重新启动 mobaxterm 应用程序。然后只有它对我有用。 (11认同)
  • 问题是它默认将 keepalive 设置为 60 秒,但这对我不起作用。如果能有这个配置就好了。 (2认同)

小智 8

就我而言,我检查了SSH keepalive选项,但这种情况时不时地发生。

所以我所做的是。

  • 禁用(取消选中)SSH keeplive关闭 MobaXterm
  • 打开 MobaXterm 并检查SSH keeaplive关闭 MobaXterm(再次)
  • 打开 MobaXterm 享受几周的稳定性......

我在运行 Windows 10 专业版 20H2 的计算机上使用许可版本。

  • 刚刚在 Windows 10 企业版上尝试过此操作,不幸的是它不起作用。在更新我们的身份验证系统后,我开始关闭连接,所以我怀疑在我的情况以及其他可能的情况下,这是一个服务器问题。 (3认同)

小智 7

上面发布的两个解决方案(由 @helloworld 和 @jepachecoh)实际上都有效,但可能需要额外的工作,因此这里有一些补充。

如果满足以下条件,则上述两个选项有效:

1.您正在连接到正在运行 SSH(守护程序)的主机(目标服务器),但没有为连接 SSH 客户端设置任何会话超时配置。

2.您连接到的主机已设置了 SSH 客户端超时配置,但设置值(在远程主机上)高于或等于您在 SSH 客户端(如 MobaXterm)上设置的“keepalive”值、腻子等)。

如果设置了目标服务器的“客户端的 SSH keepalive 配置”,它们将覆盖远程客户端 SSH keepalive 配置,从而控制会话超时。

要查明目标服务器的 SSH 配置上是否设置了任何配置,请使用以下命令(作为 root 或具有 sudo 权限的用户):

$ cat /etc/ssh/sshd_config | grep "ClientAlive"
Run Code Online (Sandbox Code Playgroud)

上面的命令适用于多种 Linux 和 Solaris 版本。如果您没有目标服务器的管理员访问权限,则您的系统管理员可能会管理您的会话超时,而不管您在连接之前在 SSH 客户端上设置的“keepalive”参数如何。

最后,如果您使用 VPN 软件或连接到非军事区 (DMZ),有时会话超时是在该级别(防火墙级别)控制的,因此请让您的网络管理员参与。

最重要的是,爱你的管理员。:-)