使用 tmate工具分享內網終端

什麼是 tmate?

tmateteammates,它是 tmux 的分支,並且使用相同的配置信息(例如鍵盤,顏色方案等)。它是能即時分享的終端多路複用器。它允許在單個屏幕中創建並操控分享多個終端。你可以分離會話,讓作業在後臺運行,並在後面重新連接會話。在屏幕底部狀態欄,顯示了當前會話的ssh 命令之類的共享信息。

該工具實際實現了類似花生殼的功能,免費,且速度比同類ngrok快。類似的工具還有:Teleconsole、GoTTY等。

tmate 是怎麼工作的?

  • tmate通過libssh`連接到 tmate.io(tmate開發者維護的後臺服務器)。
  • DH 交換時服務器進行的 ssh密鑰校驗。
  • 客戶端通過本地 ssh 密鑰進行認證。
  • 連接創建後,本地 tmux 服務器會生成一個 150 位(不可猜測的隨機字符)會話token。
  • 通過SSH 會話 ID 可連接到 tmate.io。

準備

服務器需要通過本地 ssh 密鑰來認證,要先生成 SSH 密鑰 key。

$ 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

以Debian/Ubuntu爲例:

$ 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:

底部的SSH 會話 ID 會在幾秒後消失,通過 tmate -S /tmp/tmate.sock display -p '#{tmate_ssh}'獲取。

現在可分享你SSH 會話 ID ,可以分享 web URL,還可設置只讀還是可讀寫。

參考資料

SSH 連接會話

終端上運行 ssh 終端 ID 就行了。比如:ssh [email protected]

如何通過 Web URL 連接會話

打開瀏覽器然後訪問朋友給你的 URL, 這個網址目前是被和諧了的。

輸入exit 就能退出會話了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章