真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

終端共享神器Tmate怎么用

本篇文章給大家分享的是有關(guān)終端共享神器Tmate怎么用,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供平?jīng)鼍W(wǎng)站建設(shè)、平?jīng)鲎鼍W(wǎng)站、平?jīng)鼍W(wǎng)站設(shè)計(jì)、平?jīng)鼍W(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、平?jīng)銎髽I(yè)網(wǎng)站模板建站服務(wù),10余年平?jīng)鲎鼍W(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

在 Unix/Linux 上工作,最常用的就是 Terminal。那么,如何將你的 Terminal 共享給別人一起協(xié)同工作(你幫助別人解決問題或者請(qǐng)別人幫助你解決問題)呢?很簡(jiǎn)單,使用終端共享神器 tmate。

1. 剛性需求

絕大多數(shù)人都不是萬(wàn)能的,總有需要他人現(xiàn)場(chǎng)指導(dǎo)或提供幫助的時(shí)候。那么,在無(wú)法面對(duì)面交談的時(shí)候(尤其是在新冠病毒肆虐的特殊時(shí)期),把你的終端 (Terminal) 共享出去,就可以實(shí)現(xiàn)即時(shí)且所見即所得的 1:1 協(xié)助。同樣地,基于 Terminal 的結(jié)對(duì)編程或 Code Review 也迫切需要終端共享。

2. 基本流程

2.1 安裝 tmate

$ sudo dnf install tmate # <<< Fedora  $ sudo yum install tmate # <<< CentOS  $ sudo apt install tmate # <<< Ubuntu

2.2 啟動(dòng) tmate

假定 A 現(xiàn)在需要 B 的幫助,于是,A 在他的終端 (Terminal) 上鍵入:

A$ tmate

然后就可以看到類似下圖的界面:

終端共享神器Tmate怎么用

現(xiàn)在 A 通過(guò)即時(shí)通訊軟件(如 IRC)將  "ssh session:" 后面的那串消息 "ssh 3vRvL79HMtjmBetF37REVvU4z@sfo2.tmate.io" 發(fā)送給B,然后等待 B 的連接。

注意:如果 A 沒有 SSH key ,需要事先創(chuàng)建一個(gè),命令如下:

A$ ssh-keygen

2.3 通過(guò) ssh 進(jìn)行連接

B 在其終端輸入:

B$ ssh 3vRvL79HMtjmBetF37REVvU4z@sfo2.tmate.io

然后 B 和 A 就共享了同一個(gè) Terminal。無(wú)論是 A 還是 B 都可以操作該 Terminal。

2.4 關(guān)閉連接

A 在他的終端 (Terminal) 上鍵入 exit 即可。

A$ exit

3. 基本原理

tmate 即 teammates,是 tmux 的一個(gè)分支,并且和 tmux 使用相同的配置信息 (i.e:tmate 可與 tmux 共享 ~/.tmux.conf )。**tmate 不僅是一個(gè)終端多路復(fù)用器,而且具有即時(shí)分享終端的能力。**它允許在單個(gè)屏幕中創(chuàng)建并操控多個(gè)終端,同時(shí)這些終端還能與其他人分享??偟膩?lái)說(shuō),tmux 支持的窗口 (window) 和窗格 (pane) 功能,tmate 都支持。tmate 的基本工作原理如下:

  •  運(yùn)行 tmate 時(shí),會(huì)在后臺(tái)創(chuàng)建一個(gè)連接到 tmate.io(由 tmate 開發(fā)者維護(hù)的后臺(tái)服務(wù)器)的 ssh 連接;

  •  tmate.io 服務(wù)器的 ssh 密鑰通過(guò) DH 交換進(jìn)行校驗(yàn);

  •  客戶端通過(guò)本地 ssh 密鑰進(jìn)行認(rèn)證;

  •  連接創(chuàng)建后,本地 tmux 服務(wù)器會(huì)生成一個(gè) 150 位(不可猜測(cè)的隨機(jī)字符)會(huì)話令牌;

  •  隊(duì)友能通過(guò)用戶提供的 SSH 會(huì)話 ID 連接到 tmate.io。

4. 常見命令

4.1 顯示連接信息

$ tmate show-messages  Sat Feb 29 20:32:31 2020 [tmate] Connecting to master.tmate.io...  Sat Feb 29 20:32:37 2020 [tmate] Note: clear your terminal before sharing readonly access  Sat Feb 29 20:32:37 2020 [tmate] web session read only: https://tmate.io/t/ro-59nhrEMMpr8fvYEfW3LbU69r9  Sat Feb 29 20:32:37 2020 [tmate] ssh session read only: ssh ro-59nhrEMMpr8fvYEfW3LbU69r9@nyc1.tmate.io  Sat Feb 29 20:32:37 2020 [tmate] web session: https://tmate.io/t/2VFPtcBNnhaNRGWmKgKZH3zfn  Sat Feb 29 20:32:37 2020 [tmate] ssh session: ssh 2VFPtcBNnhaNRGWmKgKZH3zfn@nyc1.tmate.io

4.2 分離/接入/查看

  •  指定 socket 文件啟動(dòng) 

$ tmate -S /tmp/foo.sock
  •  分離 

$ tmate detach
  •  接入 

$ tmate -S /tmp/foo.sock attach
  •  查看 

$ tmate -S /tmp/foo.sock ls  0: 2 windows (created Sat Feb 29 20:40:02 2020) [144x35]
  •  關(guān)閉會(huì)話 

$ tmate -S /tmp/foo.sock kill-session

5. 更多連接方式

tmate 支持 4 種連接方式,ssh、ssh-ro、web 和 web-ro。其中,ssh、web 支持讀寫訪問,ssh-ro、web-ro 支持只讀訪問。下面就是 web 只讀訪問方式的截圖。

終端共享神器Tmate怎么用

注意: tmate 啟動(dòng)之后,過(guò)幾分鐘后再執(zhí)行 tmate show-messages 就會(huì)失效,那么需要重新獲取連接信息的話,可以使用下面的腳本:

 1 #!/bin/bash   2    3 function usage   4 {   5         echo "Usage: $1  [sshrw|webrw|sshro|webro]" >&2   6 }   7    8 tmate_sock=$1   9 msg_type=${2:-"sshrw"}  10 [[ -z $tmate_sock ]] && usage $0 && exit 1  11   12 case $msg_type in  13         "sshrw") tmate -S $tmate_sock display -p '#{tmate_ssh}'    ;;  14         "sshro") tmate -S $tmate_sock display -p '#{tmate_ssh_ro}' ;;  15         "webrw") tmate -S $tmate_sock display -p '#{tmate_web}'    ;;  16         "webro") tmate -S $tmate_sock display -p '#{tmate_web_ro}' ;;  17         *) usage $0; exit 1; ;;  18 esac  19 exit $?

例如:

$ ./foo.sh /tmp/foo.sock sshrw  ssh JHELdz9a3EvTcL5w5beVMvwde@sfo2.tmate.io  $ ./foo.sh /tmp/foo.sock sshro ssh ro-Nv7fk2YT3urVEAEFCSexx7XHw@sfo2.tmate.io  $ ./foo.sh /tmp/foo.sock webrw  https://tmate.io/t/JHELdz9a3EvTcL5w5beVMvwde  $ ./foo.sh /tmp/foo.sock webro  https://tmate.io/t/ro-Nv7fk2YT3urVEAEFCSexx7XHw

新版本的 Tmate,可以用 tmate -F 隨時(shí)顯示相關(guān)連接信息。

6.訪問控制

通常情況下,鑒于 tmate 生成的共享鏈接(ssh or web)在提供給他人訪問的時(shí)候無(wú)需任何安全驗(yàn)證,而且此連接存儲(chǔ)在 tmate.io 的服務(wù)器上,所以在使用此功能的時(shí)候請(qǐng)保持謹(jǐn)慎。

  •  第一,只把共享鏈接發(fā)送給你所信任的人知曉;

  •  第二,如無(wú)必要,請(qǐng)僅僅發(fā)送只讀鏈接;

  •  第三,一旦共享結(jié)束,請(qǐng)及時(shí)關(guān)閉會(huì)話。

那么,如何實(shí)現(xiàn)訪問控制呢?

  •  將你所信任的人 B 的公鑰加入到你 (A) 的 ~/.ssh/authorized_keys 文件中,

  •  啟動(dòng) tmate 使用如下命令:

A$ tmate -a ~/.ssh/authorized_keys

這樣,只有B才能通過(guò) ssh 訪問你的共享鏈接。陌生人 C 的公鑰沒有保存到 A 的 ~/.ssh/authorized_keys 文件中,于是會(huì)出現(xiàn)如下類似的拒絕訪問信息。

C$ ssh ERayHQKUPZkhtVufjjFTvtfjC@sgp1.tmate.io  ERayHQKUPZkhtVufjjFTvtfjC@sgp1.tmate.io: Permission denied (publickey).

有關(guān)訪問控制的更多內(nèi)容,請(qǐng)?jiān)L問 https://tmate.io/ 的 Access control 一節(jié)。

特別提示: 一旦使用了基于文件  authorized_keys 的訪問控制,就不能使用基于 web 的連接方式,也就是說(shuō),只能使用 ssh 進(jìn)行連接。

以上就是終端共享神器Tmate怎么用,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站標(biāo)題:終端共享神器Tmate怎么用
分享網(wǎng)址:http://weahome.cn/article/iedsis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部