Linux中國

tmate:秒級分享你的終端會話

不久前,我們寫過一篇關於 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中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國