远程运行 ssh 会话

远程运行 ssh 会话

对于我需要完成的一些工作,我需要在笔记本电脑上打开 PuTTY 会话几个小时以运行一些脚本。但是,我经常在旅途中,无法让笔记本电脑长时间保持网络连接以让会话运行而不断开连接。

所以我的问题是,是否有可能运行不基于我的笔记本电脑的 ssh 会话?谢谢大家!

答案1

您研究过 GNU Screen 吗?
https://www.gnu.org/software/screen/

当您从笔记本电脑通过 SSH 连接到 Linux 服务器并启动一项作业/进程时,通常如果您的 SSH 连接断开,该作业将被终止。

但是,使用 GNU Screen,如果您的 SSH 会话在您希望之前结束,您正在使用的虚拟终端将继续顺利运行。

它使用简单,并且还提供其他好处!

尝试一下:
通过 SSH 连接到服务器后,立即输入“screen”(假设已安装)。
然后运行任何长时间运行的工作脚本或命令(如“top”)。然后关闭 puTTY。

再次通过 SSH 连接到服务器,您的工作似乎丢失了,但输入“screen -ls”,您将看到已断开连接的虚拟终端会话的列表。

要重新连接它,请输入“screen -r”...您应该会看到您的脚本或进程仍在运行!

要退出屏幕,您只需在命令行输入“exit”,然后您将返回到通常的 shell(除非存在多个屏幕窗口)。

要手动分离屏幕,请输入“screen -d”或按 Ctrl-a(控制键加字母“a”)然后按“d”。

要获取 GNU Screen 的帮助,请在其中按下 Ctrl-a,然后按下“?”。

祝你好运 !

答案2

您需要tmux或者屏幕. 通常你可以在每个 Linux 版本上找到它们。

这些程序在终端和远程客户端之间建立了一个层。您可以分离客户端,但一切仍会继续运行,因为登录 shell 认为它正在与客户端对话,而它只连接到 tmux/screen 层。当您再次登录时,您可以重新连接到您留下的会话。

两者都需要一些 rtfm,但即使是很少的知识也可以挽救生命。

相关内容