tmate:即时与其他 Linux 用户共享终端会话

同学 是具有即时终端共享的终端多路复用器,即,它可以与许多受信任的用户共享您的终端会话。 它类似于多播的概念。 所有收件人都可以通过 SSH 连接查看终端会话。

tmate 实际上是一个 fork 多路复用器,一种流行的终端多路复用器,可让您在单个终端中使用多个程序。 它在终端窗口中为您提供一种 IDE 体验。

tmate 是如何实现终端共享的!

在启动 Tmate 时,它​​将首先建立与 tmate.io 网站的 SSH(安全外壳)连接,该网站充当 Internet 上的服务器。 建立连接后,将为每个会话生成一个随机 SSH URL 令牌。 ssh URL ID 将显示在终端会话的底部。 现在终端已准备好共享。

受信任的队友可以通过 URL ID 访问您的终端会话,并且只要连接处于活动状态就可以使用它。 在我看来,tmate最好的应用是协助小组项目,或者和开发团队一起调试项目,或者在远程网络上获得技术支持。

如何在 Linux 中安装 tmate

tmate 是一个流行的程序,因此它可以在大多数 Linux 发行版的默认存储库中使用。 您所要做的就是使用 Linux 发行版的包管理器并安装它。

为了您的舒适,我将列出一些示例。

在基于 Debian 和 Ubuntu 的 Linux 发行版中,使用以下命令:

sudo apt install tmate

为了 Fedora,您可以使用以下命令:

sudo dnf install tmate

tmate 在 AUR 中可用,因此您可以在 Arch Linux 中使用您最喜欢的 AUR Helper:

yaourt -S tmate

在 openSUSE 中,你可以 zypper 安装 tmate:

sudo zypper in tmate

如何与 tmate 共享终端

让我们看看使用 tmate 并与他人共享终端会话的步骤。

第 1 步:生成 SSH 密钥对

要使用 tmate,我们需要创建一个 SSH 密钥对。 tmate 程序首先使用该 SSH 密钥对建立主机与 tmate.io 网站的安全 SSH 连接。

此外,每台尝试连接主机终端的客户端机器的身份验证也是由 tmate.io 服务器通过相同的 ssh 密钥进行的。 因此,每个系统都应该生成自己的 SSH 密钥。

使用此命令生成 ssh-key:

ssh-keygen -t rsa

第 2 步:在主机系统上使用 tmate

在将使用终端会话的系统上,打开终端并在终端中输入“tmate”命令。

tmate

tmate 会话屏幕如下所示:

您会注意到几秒钟后,SSH 会话 ID 将消失。 您需要此会话 ID,以便其他人可以查看您的会话。

要查找 tmate sesson id,请使用以下命令:

tmate show-messages
查找 tmate 会话 ID获取 tmate ssh 会话 ID

第 3 步:访问 tmate 会话

与您信任的队友共享 SSH 会话 ID,他们可以在自己的终端中使用此命令访问您的终端。

ssh <SSH_Session_ID>

为了 example,就我而言,它将是:

ssh [email protected]

默认情况下,tmate 允许对共享终端会话进行读写访问。 这意味着连接到您的会话的任何人都可以在您的终端中运行命令。

如果您不希望这样,您可以共享只读会话 ID。 如果查看 show-messages 命令的输出,您会注意到有几个会话 ID。 您可以在那里找到只读会话 ID。

不仅使用 SSH,您还可以通过 Web URL 共享您的终端。 您可以在 show-messages 输出中获取 Web 会话 URL(如上图所示)。

第 4 步:结束 tmate 会话

使用“exit”命令退出 tmate 会话。

exit

你喜欢 tmux 吗?

由于 tmate 基于 tmux,您可以在 tmate 终端会话中使用所有 tmux 命令。 这对 Linux 高级用户非常有用。

我希望你喜欢这篇关于与 tmate 共享终端的快速文章。 你对它有什么经验。 请与我们分享。

作者: Rishi Raj Gautam 是 Linux 爱好者和开源活动家。