保持SSH会话(终端复用)
通常由于SSH连接面对的网络环境、系统环境非常复杂。它不仅依赖各级运营商的网络、多级路由或防火墙等设备,还要依赖操作系统的稳定性。所以,我们在日常使用SSH的时候可能会遇到连接中断的情况。
如果您此时正在使用WebSSH或者第三方的SSH工具登录到您的容器实例中进行非常耗时的一些操作。比如下载训练或推理数据、终端前台打开某个命令行工具、编译压缩等。SSH的终端可能会给您的操作带来非常大的困扰。
为了解决SSH断连的问题,我们推荐您使用终端复用程序帮您保持打开的会话。当SSH连接重连后可以恢复之前正在进行的会话。
通常终端复用程序有screen和tmux两种。我们推荐您使用tmux工具进行终端的复用。
注意一下操作演示截图使用容器云提供的WebSSH工具,终端复用不要求您使用哪种SSH工具。
使用如下命令安装tmux终端复用工具
$ sudo apt install tmux
使用如下命令新建一个tmux会话
$ tmux new -s download
这里 -s download 指新会话的名称
打开一个新的会话.左下角位置可以看到当前会话的名称为download。
这里我们执行一个占用终端的程序top模拟您正在进行一个非常耗时的操作。
执行快捷键 Ctrl+b 然后再按d 把当前会话放入后台运行,此时上一步执行的耗时任务top仍然还在正常运行。
如果遇到SSH连接中断的情况,tmux也会保持当前已打开的可复用会话。
上一步把会话放入后台,可以执行如下命令查看当前有一个已打开的可复用会话。
$ tmux ls
# 通过输出可以找到刚才放入后台的会话download
执行如下命令把放入后台的会话重新恢复。
$ tmux a -t download
会话被重新打开。
有关tmux命令的使用请参考如下链接