返回顶部
首页 > 资讯 > 精选 >终端共享神器Tmate怎么用
  • 402
分享到

终端共享神器Tmate怎么用

2023-06-15 16:06:03 402人浏览 泡泡鱼
摘要

本篇文章给大家分享的是有关终端共享神器Tmate怎么用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在 Unix/linux 上工作,最常用的就是 Terminal。那么,如何

本篇文章给大家分享的是有关终端共享神器Tmate怎么用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

在 Unix/linux 上工作,最常用的就是 Terminal。那么,如何将你的 Terminal 共享给别人一起协同工作(你帮助别人解决问题或者请别人帮助你解决问题)呢?很简单,使用终端共享神器 tmate。

1. 刚性需求

绝大多数人都不是万能的,总有需要他人现场指导或提供帮助的时候。那么,在无法面对面交谈的时候(尤其是在新冠病毒肆虐的特殊时期),把你的终端 (Terminal) 共享出去,就可以实现即时且所见即所得的 1:1 协助。同样地,基于 Terminal 的结对编程或 Code Review 也迫切需要终端共享。

2. 基本流程

2.1 安装 tmate

$ sudo dnf install tmate # <<< Fedora  $ sudo yum install tmate # <<< Centos  $ sudo apt install tmate # <<< ubuntu

2.2 启动 tmate

假定 A 现在需要 B 的帮助,于是,A 在他的终端 (Terminal) 上键入:

A$ tmate

然后就可以看到类似下图的界面:

终端共享神器Tmate怎么用

现在 A 通过即时通讯软件(如 IRC)将  "ssh session:" 后面的那串消息 "ssh 3vRvL79HMtjmBetF37REVvU4z@sfo2.tmate.io" 发送给B,然后等待 B 的连接。

注意:如果 A 没有 SSH key ,需要事先创建一个,命令如下:

A$ ssh-keygen

2.3 通过 ssh 进行连接

B 在其终端输入:

B$ ssh 3vRvL79HMtjmBetF37REVvU4z@sfo2.tmate.io

然后 B 和 A 就共享了同一个 Terminal。无论是 A 还是 B 都可以操作该 Terminal。

2.4 关闭连接

A 在他的终端 (Terminal) 上键入 exit 即可。

A$ exit

3. 基本原理

tmate 即 teammates,是 tmux 的一个分支,并且和 tmux 使用相同的配置信息 (i.e:tmate 可与 tmux 共享 ~/.tmux.conf )。**tmate 不仅是一个终端多路复用器,而且具有即时分享终端的能力。**它允许在单个屏幕中创建并操控多个终端,同时这些终端还能与其他人分享。总的来说,tmux 支持的窗口 (window) 和窗格 (pane) 功能,tmate 都支持。tmate 的基本工作原理如下:

  •  运行 tmate 时,会在后台创建一个连接到 tmate.io(由 tmate 开发者维护的后台服务器)的 ssh 连接;

  •  tmate.io 服务器的 ssh 密钥通过 DH 交换进行校验;

  •  客户端通过本地 ssh 密钥进行认证;

  •  连接创建后,本地 tmux 服务器会生成一个 150 位(不可猜测的随机字符)会话令牌;

  •  队友能通过用户提供的 SSH 会话 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 文件启动 

$ 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]
  •  关闭会话 

$ 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 启动之后,过几分钟后再执行 tmate show-messages 就会失效,那么需要重新获取连接信息的话,可以使用下面的脚本:

 1 #!/bin/bash   2    3 function usage   4 {   5         echo "Usage: $1 <sock> [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 随时显示相关连接信息。

6.访问控制

通常情况下,鉴于 tmate 生成的共享链接(ssh or web)在提供给他人访问的时候无需任何安全验证,而且此连接存储在 tmate.io 的服务器上,所以在使用此功能的时候请保持谨慎。

  •  第一,只把共享链接发送给你所信任的人知晓;

  •  第二,如无必要,请仅仅发送只读链接;

  •  第三,一旦共享结束,请及时关闭会话。

那么,如何实现访问控制呢?

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

  •  启动 tmate 使用如下命令:

A$ tmate -a ~/.ssh/authorized_keys

这样,只有B才能通过 ssh 访问你的共享链接。陌生人 C 的公钥没有保存到 A 的 ~/.ssh/authorized_keys 文件中,于是会出现如下类似的拒绝访问信息。

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

有关访问控制的更多内容,请访问 https://tmate.io/ 的 Access control 一节。

特别提示: 一旦使用了基于文件  authorized_keys 的访问控制,就不能使用基于 web 的连接方式,也就是说,只能使用 ssh 进行连接。

以上就是终端共享神器Tmate怎么用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

本文标题: 终端共享神器Tmate怎么用

本文链接: https://lsjlt.com/news/280960.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 终端共享神器Tmate怎么用
    本篇文章给大家分享的是有关终端共享神器Tmate怎么用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在 Unix/Linux 上工作,最常用的就是 Terminal。那么,如何...
    99+
    2023-06-15
  • linux中的终端共享神器tmate怎么用
    这篇文章主要为大家展示了“linux中的终端共享神器tmate怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中的终端共享神器tmate怎么用”这篇文章吧。tmate工具是tmux...
    99+
    2023-06-28
  • Linux终端神器WindTerm怎么使用
    这篇文章主要介绍“Linux终端神器WindTerm怎么使用”,在日常操作中,相信很多人在Linux终端神器WindTerm怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2023-04-21
    linux
  • Linux系统中怎么处理终端共享
    这篇文章将为大家详细讲解有关Linux系统中怎么处理终端共享,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在Linux系统中可以让多个设备共享一个中断号,而且共享同一中断的中断处理程序形成一个链表,甚至没...
    99+
    2023-06-28
  • 云服务器共享端口怎么配置
    要实现云服务器共享端口,可以通过反向代理配置来实现。以下是一种常见的配置方式:1. 安装并配置反向代理软件,如Nginx或Apach...
    99+
    2023-08-08
    云服务器
  • 云服务器可以共享吗手机端怎么用
    云服务器可以让用户共享手机端的数据吗? 在现实生活中,我们经常会使用云服务器来存储和共享个人数据。例如,我们可以将我们的通讯录、日历、相册等私人信息存储在云服务器上,然后让其他人通过手机访问这些信息。这样,我们就可以随时随地访问这些数据,...
    99+
    2023-10-28
    服务器 手机
  • win10怎么关闭端口共享服务
    要关闭Windows 10上的端口共享服务,您需要按照以下步骤进行操作:1. 打开“控制面板”。您可以通过在任务栏的搜索栏中输入“控...
    99+
    2023-08-22
    win10
  • 共享云服务器怎么使用
    共享云服务器是多个用户共用一台服务器的服务,用户可以通过以下步骤使用共享云服务器:1. 注册并购买共享云服务器服务,获得服务器的IP...
    99+
    2023-06-07
    共享云服务器 云服务器
  • VB.NET共享变量怎么用
    这篇文章主要介绍VB.NET共享变量怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们还可以创建另外一种共享成员。有时候类的所有实例需要共享一个数值,有时候每个特定类型的对象要共享相同的变量,这些时候都可以通过...
    99+
    2023-06-17
  • 云服务器共享文件怎么用
    在云服务器上存储的数据可以被分成多个数据块,并通过网络进行访问和处理。云服务器还可以通过多种方式进行数据备份和保护,以确保数据的安全性和完整性。例如,可以使用云服务器提供商提供的备份和恢复服务,或者使用云服务器提供商的灾难恢复服务。 除了...
    99+
    2023-10-28
    服务器 文件
  • 共享型云主机怎么用
    共享型云主机可以提供多种服务,可以用来做:1、网站托管可以提供自定义的空间大小、带宽等信息,并可通过FTP等协议进行文件传输。2、云...
    99+
    2023-03-11
    共享型云主机 云主机
  • web移动端调试神器Eruda怎么用
    这篇文章主要介绍“web移动端调试神器Eruda怎么用”,在日常操作中,相信很多人在web移动端调试神器Eruda怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web移...
    99+
    2024-04-02
  • 移动端调试神器vConsole怎么使用
    本篇内容主要讲解“移动端调试神器vConsole怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“移动端调试神器vConsole怎么使用”吧!介绍平时在web应用开发过程中,我们可以cons...
    99+
    2023-06-30
  • 云服务器怎么设置共享
    在云服务器中设置文件夹共享的方法远程登录云服务器,进入服务器操作界面;在远程服务器选择需要共享的文件夹,点击右键;选择文件夹“属性”,切换到“共享”选项卡;点击共享自文件夹,设置用户权限;用户权限设置好后,点击共享即可。...
    99+
    2024-04-02
  • 云服务器怎么共享文件
    云服务器可以通过以下步骤共享文件: 在云服务器上创建一个文件共享对象,该对象用于存储共享的文件。这个文件共享对象可以存储在本地电脑上的任何地方,只需将其复制到其他位置即可。 将文件共享对象设置为默认共享。这个步骤非常简单,只需将“共享文...
    99+
    2023-10-26
    服务器 文件
  • 怎么使用云服务器的流量共享
    使用云服务器的流量共享是指通过将某些网站的访问请求发送到云服务器上,使得其他网站可以同时访问这些访问请求。以下是一些可能有用的步骤: 选择要共享的网站:首先,您需要确定要共享访问请求的网站。您可以通过查看已连接到云服务器的网站的URL来...
    99+
    2023-10-26
    流量 服务器
  • 阿里云服务器共享型s600怎么用
    简介 阿里云服务器共享型s600是阿里云提供的一种高性能、低成本的云服务器类型,适用于中小型企业和个人开发者。本文将介绍如何使用阿里云服务器共享型s600。使用步骤步骤一:购买阿里云服务器首先,登录阿里云官网,进入云服务器产品页面。选择共享...
    99+
    2024-01-14
    阿里 服务器
  • win7一键共享工具怎么用 win7共享一键设置教程
    很多人不会设置win7与xp之间的网络共享,我们可以借用win7共享工具已将搞定,win7一键共享工具怎么用?下面小编就为大家带来win7共享一键设置教程,希望能为大家解决问题。 win7一键共享工具怎么用 win7共享...
    99+
    2023-06-12
    win7 一键共享 工具 教程 共享
  • 共享型云主机怎么使用
    共享型云主机使用的方法:1、进入服务商提供的云主机管理面板,查看云主机信息;2、启动FTP软件,新建站点;3、连接远程新建的站点,上...
    99+
    2023-02-08
    共享型云主机 云主机
  • php共享缓存Yac怎么使用
    这篇“php共享缓存Yac怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php共享缓存Yac怎么使用”文章吧。yac...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作