新聞中心
不久前,我們寫過一篇關(guān)于 teleconsole 的介紹,該工具可用于快速分享終端給任何人(任何你信任的人)。今天我們要聊一聊另一款類似的應(yīng)用,名叫 tmate。

tmate 有什么用?它可以讓你在需要幫助時(shí)向你的朋友們求助。
什么是 tmate?
tmate 的意思是 teammates,它是 tmux 的一個(gè)分支,并且使用相同的配置信息(例如快捷鍵配置,配色方案等)。它是一個(gè)終端多路復(fù)用器,同時(shí)具有即時(shí)分享終端的能力。它允許在單個(gè)屏幕中創(chuàng)建并操控多個(gè)終端,同時(shí)這些終端還能與其他同事分享。
你可以分離會話,讓作業(yè)在后臺運(yùn)行,然后在想要查看狀態(tài)時(shí)重新連接會話。tmate 提供了一個(gè)即時(shí)配對的方案,讓你可以與一個(gè)或多個(gè)隊(duì)友共享一個(gè)終端。
在屏幕的地步有一個(gè)狀態(tài)欄,顯示了當(dāng)前會話的一些諸如 ssh 命令之類的共享信息。
tmate 是怎么工作的?
- 運(yùn)行
tmate時(shí),會通過libssh在后臺創(chuàng)建一個(gè)連接到 tmate.io (由 tmate 開發(fā)者維護(hù)的后臺服務(wù)器)的 ssh 連接。 - tmate.io 服務(wù)器的 ssh 密鑰通過 DH 交換進(jìn)行校驗(yàn)。
- 客戶端通過本地 ssh 密鑰進(jìn)行認(rèn)證。
- 連接創(chuàng)建后,本地 tmux 服務(wù)器會生成一個(gè) 150 位(不可猜測的隨機(jī)字符)會話令牌。
- 隊(duì)友能通過用戶提供的 SSH 會話 ID 連接到 tmate.io。
使用 tmate 的必備條件
由于 tmate.io 服務(wù)器需要通過本地 ssh 密鑰來認(rèn)證客戶機(jī),因此其中一個(gè)必備條件就是生成 SSH 密鑰 key。 記住,每個(gè)系統(tǒng)都要有自己的 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 已經(jīng)包含在某些發(fā)行版的官方倉庫中,可以通過包管理器來安裝。
對于 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 的系統(tǒng),使用 Yaourt 命令或 Packer 命令 來從 AUR 倉庫中安裝。
$ yaourt -S tmate
或
$ packer -S tmate
對于 openSUSE,使用 Zypper 命令 來安裝。
$ sudo zypper in tmate
如何使用 tmate
成功安裝后,打開終端然后輸入下面命令,就會打開一個(gè)新的會話,在屏幕底部,你能看到 SSH 會話的 ID。
$ tmate
要注意的是,SSH 會話 ID 會在幾秒后消失,不過不要緊,你可以通過下面命令獲取到這些詳細(xì)信息。
$ tmate show-messages
tmate 的 show-messages 命令會顯示 tmate 的日志信息,其中包含了該 ssh 連接內(nèi)容。
現(xiàn)在,分享你的 SSH 會話 ID 給你的朋友或同事從而允許他們觀看終端會話。除了 SSH 會話 ID 以外,你也可以分享 web URL。
另外你還可以選擇分享的是只讀會話還是可讀寫會話。
如何通過 SSH 連接會話
只需要在終端上運(yùn)行你從朋友那得到的 SSH 終端 ID 就行了。類似下面這樣。
$ ssh session: ssh [email protected]
如何通過 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。
網(wǎng)頁標(biāo)題:tmate:秒級分享你的終端會話
標(biāo)題網(wǎng)址:http://fisionsoft.com.cn/article/dpjhjpc.html


咨詢
建站咨詢
