tmate:秒级分享你的终端会话
创始人
2024-03-01 21:09:48
0

不久前,我们写过一篇关于 teleconsole 的介绍,该工具可用于快速分享终端给任何人(任何你信任的人)。今天我们要聊一聊另一款类似的应用,名叫 tmate

tmate 有什么用?它可以让你在需要帮助时向你的朋友们求助。

什么是 tmate?

tmate 的意思是 teammates,它是 tmux 的一个分支,并且使用相同的配置信息(例如快捷键配置,配色方案等)。它是一个终端多路复用器,同时具有即时分享终端的能力。它允许在单个屏幕中创建并操控多个终端,同时这些终端还能与其他同事分享。

你可以分离会话,让作业在后台运行,然后在想要查看状态时重新连接会话。tmate 提供了一个即时配对的方案,让你可以与一个或多个队友共享一个终端。

在屏幕的地步有一个状态栏,显示了当前会话的一些诸如 ssh 命令之类的共享信息。

tmate 是怎么工作的?

  • 运行 tmate 时,会通过 libssh 在后台创建一个连接到 tmate.io (由 tmate 开发者维护的后台服务器)的 ssh 连接。
  • tmate.io 服务器的 ssh 密钥通过 DH 交换进行校验。
  • 客户端通过本地 ssh 密钥进行认证。
  • 连接创建后,本地 tmux 服务器会生成一个 150 位(不可猜测的随机字符)会话令牌。
  • 队友能通过用户提供的 SSH 会话 ID 连接到 tmate.io。

使用 tmate 的必备条件

由于 tmate.io 服务器需要通过本地 ssh 密钥来认证客户机,因此其中一个必备条件就是生成 SSH 密钥 key。 记住,每个系统都要有自己的 SSH 密钥。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/magi/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/magi/.ssh/id_rsa.
Your public key has been saved in /home/magi/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:3ima5FuwKbWyyyNrlR/DeBucoyRfdOtlUmb5D214NC8 magi@magi-VirtualBox
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|           .     |
|      . . =   o  |
|     *ooS= . + o |
|  . =.@*o.o.+ E .|
|   =o==B++o  = . |
|  o.+*o+..    .  |
| ..o+o=.         |
+----[SHA256]-----+

如何安装 tmate

tmate 已经包含在某些发行版的官方仓库中,可以通过包管理器来安装。

对于 Debian/Ubuntu,可以使用 APT-GET 命令或者 APT 命令to 来安装。

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:tmate.io/archive
$ sudo apt-get update
$ sudo apt-get install tmate

你也可以从官方仓库中安装 tmate。

$ sudo apt-get install tmate

对于 Fedora,使用 DNF 命令 来安装。

$ sudo dnf install tmate

对于基于 Arch Linux 的系统,使用 Yaourt 命令Packer 命令 来从 AUR 仓库中安装。

$ yaourt -S tmate

$ packer -S tmate

对于 openSUSE,使用 Zypper 命令 来安装。

$ sudo zypper in tmate

如何使用 tmate

成功安装后,打开终端然后输入下面命令,就会打开一个新的会话,在屏幕底部,你能看到 SSH 会话的 ID。

$ tmate

要注意的是,SSH 会话 ID 会在几秒后消失,不过不要紧,你可以通过下面命令获取到这些详细信息。

$ tmate show-messages

tmateshow-messages 命令会显示 tmate 的日志信息,其中包含了该 ssh 连接内容。

现在,分享你的 SSH 会话 ID 给你的朋友或同事从而允许他们观看终端会话。除了 SSH 会话 ID 以外,你也可以分享 web URL。

另外你还可以选择分享的是只读会话还是可读写会话。

如何通过 SSH 连接会话

只需要在终端上运行你从朋友那得到的 SSH 终端 ID 就行了。类似下面这样。

$ ssh session: ssh 3KuRj95sEZRHkpPtc2y6jcokP@sg2.tmate.io

如何通过 Web URL 连接会话

打开浏览器然后访问朋友给你的 URL 就行了。像下面这样。

只需要输入 exit 就能退出会话了。

[Source System Output]
[exited]

[Remote System Output]
[server exited]
Connection to sg2.tmate.io closed by remote host。
Connection to sg2.tmate.io closed。

via: https://www.2daygeek.com/tmate-instantly-share-your-terminal-session-to-anyone-in-seconds/

作者:[Magesh Maruthamuthu][a] 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

武汉:到2027年打造4款...
钛媒体App 1月15日消息,武汉市人民政府办公厅发布关于印发武汉...
2026-01-16 06:45:22
光弘科技:在AI相关领域与...
有投资者在互动平台向光弘科技提问:“请问公司在AI应用领域,有哪些...
2026-01-07 06:17:46
“全球科技春晚”上演AI终...
作者 | 黄昱 编辑 | 周智宇 ChatGPT掀起AI大模型浪潮...
2026-01-06 10:18:10
AI眼镜距离“随身终端”还...
进入2026年,被寄予“下一代智能终端”厚望的AI眼镜,能否突围成...
2026-01-02 07:16:45
深夜!茅台放大招:1499...
【导读】1499买飞天茅台,每人每天限购12瓶 中国基金报记者 泰...
2026-01-01 06:44:47
年终盘点|AI入端 让技术...
(记者 陈晓晟)即将过去的2025年,我国AI终端产业实现了跨越式...
2025-12-29 20:45:53

热门资讯

如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
硬核观察 #1249 LG 洗... #1 LG 洗衣机每天上传近 4GB 的数据?一个名为 Johnie 的 LG 洗衣机用户发现,他的...
2024 年 Linux 和开... 让我们尝试预测未来吧!新的一年快乐,朋友们 ✨2024 年的钟声已经敲过,我们有必要去预见一下将塑造...