适用于Unix/Linux,最常用的是Terminal。那么,如何把你的Terminal分享给别人一起工作(你帮别人解决问题或者请别人帮你解决问题)?很简单,使用终端分享神器tmate。1.刚性需求大多数人都不是万能的,总有需要他人现场指导或帮助的时候。那么,当你无法面对面交谈时(尤其是在新冠病毒肆虐的特殊时期),分享你的终端(Terminal),实现即时、所见即所得的1:1协助。同样,基于终端的结对编程或代码审查迫切需要终端共享。2.基本流程2.1安装tmate$sudodninstalltmate#<<[sshrw|webrw|sshro|webro]">&26}78tmate_sock=$19msg_type=${2:-"sshrw"}10[[-z$tmate_sock]]&&usage$0&&exit11112case$msg_typein13"sshrw")tmate-S$tmate_sockdisplay-p'#{tmate_ssh}';;14"sshro")tmate-S$tmate_sockdisplay-p'#{tmate_ssh_ro}';;15"webrw")tmate-S$tmate_sockdisplay-p'#{tmate_web}';;16"webro")tmate-S$tmate_sockdisplay-p'#{tmate_web_ro}';;17*)usage$0;exit1;;;18esac19exit$?例如:$./foo.sh/tmp/foo.socksshrwsshJHELdz9a3EvTcL5w5beVMvwde@sfo2。tmate.io$。sh/tmp/foo.sockwebrohttps://tmate.io/t/ro-Nv7fk2YT3urVEAEFCSexx7XHw新版Tmate,可以随时使用tmate-F显示相关连接信息。6.访问控制一般情况下,由于tmate生成的共享链接(ssh或web)在提供给他人访问时不需要任何安全验证,且该连接保存在tmate.io的服务器上,使用该功能时请要小心。首先,只将共享链接发送给您信任的人;第二,如无必要,请只发送只读链接;三、分享结束后,请及时闭幕。那么,如何实现访问控制呢?将你信任的人B的公钥添加到你的(A)~/.ssh/authorized_keys文件中,启动tmate,使用如下命令:A$tmate-a~/.ssh/authorized_keys这样就只有B可以通过ssh访问您的共享链接。陌生人C的公钥没有保存在A的~/.ssh/authorized_keys文件中,所以会出现类似下面的拒绝访问信息。C$sshERayHQKUPZkhtVufjjFTvtfjC@sgp1.tmate.ioERayHQKUPZkhtVufjjFTvtfjC@sgp1.tmate.io:权限被拒绝(公钥)。更多关于访问控制的信息,请访问https://tmate.io/的访问控制部分。特别注意:一旦使用基于文件的authorized_keys访问控制,就不能使用基于web的连接,即只能使用ssh连接。7.参考资料Tmate–立即与任何地方的任何人共享您的终端tmate:立即与其他Linux用户共享终端会话tmate–在几秒钟内与任何人立即共享您的终端会话tmate:在几秒钟内共享您的终端会话