📘
技术积累
  • 简介
  • 学习方法
    • 如何提高编程技能
  • 基础知识
    • Linux
      • Linux常用指令
      • rsync
      • VIM
      • tmate命令行分享
      • 命令别名存储
      • 项目服务器重启
    • 设计模式
    • 自动化接口使用
    • 项目经理培训
    • 报价策略
    • 培训材料撰写
  • 工具
    • Ajax
    • AutV
    • axios
    • Babel
    • bower
    • codecov
    • crypto
    • CSS3D
    • Docker
    • Echarts
    • Git
      • 如何删除项目
      • 多个ssh_key的生成与使用
      • 常用命令清单
    • Gitbook
      • Gitbook 更多配置
      • Markdown 标记示例
    • gulp
    • Istanbul
    • JEST
    • jMeter
    • js-md5
    • Kama
    • LESS Sass 编译工具Koala介绍
    • Lodash
    • Markdown
    • Maven
    • Moment
    • Nginx
    • NPM
    • NVM
    • particles.js粒子效果
    • PM2
    • Qs
    • Swagger
    • Webpack
    • Webpack
    • Yarn
    • Yeoman使用
  • 平台
    • 代码托管平台 GitLab
    • 代码安全平台 sonarqube
  • 语言和框架
    • 工作流
    • Angular
      • FUSE-Angular前端框架项目初始化
      • AngularJs-toaster-Angular提示弹框插件
      • ng-file-upload-Angular上传图片插件
      • ngclipboard-Angular复制到剪贴板插件
    • Vue
      • ElementUI-Vue前端框架项目初始化
      • clipboard使用
      • mobileSelect.js使用
      • vue-cookies使用
      • vue-fullpage使用
      • vue-router使用
      • Vue的Ref属性
      • Vuex使用
      • Vux使用
      • vux-uploader使用
      • Vue生命周期图例
      • iview-loader使用
    • cycleJs
    • ES6
      • async/await
    • react
      • react生命周期
      • create-react-app
      • Rematch
      • react-router
      • react-router-dom
      • css-in-js
    • TypeScript
      • VueAndTypeScript
    • 微信小程序
    • Hexo博客框架
      • Hexo博客框架-图片问题处理
      • Hexo博客框架-切换主题
    • SmartClient
    • HybridApp混合开发
      • uniapp
  • 代码审查
    • 代码命名规范
    • 页面代码结构
    • JavaScript标准编码风格
    • AirbnbJavaScript风格指南
  • 其他
    • 收藏|激发灵感的33套网页配色方案(附色值)
    • KPI&OKR
    • 测试自动化
    • view
    • 前端面试
      • 项目方面
      • html+css
      • JavaScript方面
      • JavaScript面试
      • 框架方面
      • 前端面试3+1
        • 20190420
        • 20190419
        • 20190418
        • 20190417
    • Linux面试题
    • JAVA面试
    • 测试面试
    • 钉钉使用
    • sd360
  • 前端知识积累
    • css3单位汇总
    • CSS解决loading效果
    • 深度克隆的方法
    • 加密技术
    • 解决ios下的微信页面背景音乐无法自动播放问题
    • 一套绝佳的图标字体库和CSS框架:Font Awesome
    • 关于ico图标不显示解决办法
    • 提升页面响应速度
    • innerHTML引入的script如何使用
    • JavaMap转Json
    • JS开发工具大全
    • 移动端插件
    • 移动端页面通过前端方法禁止ios页面横屏方法
    • 图片资源网站
    • 排序方式
    • 图片预览上传
    • Windows部署时脚本报错
Powered by GitBook
On this page
  • 1 简介与特点
  • 1.1 tmate是什么
  • 1.2 tmate工作原理
  • 2 安装与使用
  • 2.1 前期条件
  • 2.2 安装
  • 2.3 使用
  • 参考资料

Was this helpful?

  1. 基础知识
  2. Linux

tmate命令行分享

PreviousVIMNext命令别名存储

Last updated 4 years ago

Was this helpful?

作者:高天阳

邮箱:13683265113@163.com

更改历史

* 2018-10-11        高天阳    细化内容
* 2017-08-06        高天阳    初始化文档

1 简介与特点

1.1 tmate是什么

你可以分离会话,让作业在后台运行,然后在想要查看状态时重新连接会话。tmate提供了一个即时配对的方案,让你可以与一个或多个队友共享一个终端。

在屏幕的地步有一个状态栏,显示了当前会话的一些诸如ssh命令之类的共享信息。

1.2 tmate工作原理

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

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

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

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

  • 队友能通过用户提供的SSH会话ID连接到tmate.io。

2 安装与使用

2.1 前期条件

由于tmate.io服务器需要通过本地ssh密钥来认证客户机,因此其中一个必备条件就是生成SSH密钥key。 记住,每个系统都要有自己的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]-----+

2.2 安装

tmate已经包含在某些发行版的官方仓库中,可以通过包管理器来安装。

$ 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
$ sudo dnf install tmate
$ yaourt -S tmate

或

$ packer -S tmate
$ sudo zypper in tmate

2.3 使用

2.3.1 创建

成功安装后,打开终端然后输入下面命令,就会打开一个新的会话,在屏幕底部,你能看到SSH会话的ID。

$ tmate

要注意的是,SSH会话ID会在几秒后消失,不过不要紧,你可以通过下面命令获取到这些详细信息。

$ tmate show-messages

tmate的show-messages命令会显示tmate的日志信息,其中包含了该ssh连接内容。

现在,分享你的SSH会话ID给你的朋友或同事从而允许他们观看终端会话。除了SSH会话ID以外,你也可以分享web URL。

另外你还可以选择分享的是只读会话还是可读写会话。

2.3.2 SSH连接

只需要在终端上运行你从朋友那得到的SSH终端ID就行了。类似下面这样。

$ ssh session: ssh 3KuRj95sEZRHkpPtc2y6jcokP@sg2.tmate.io

2.3.3 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。

参考资料

的意思是teammates,它是tmux的一个分支,并且使用相同的配置信息(例如快捷键配置,配色方案等)。 它是一个终端多路复用器,同时具有即时分享终端的能力。它允许在单个屏幕中创建并操控多个终端,同时这些终端还能与其他同事分享。

对于Debian/Ubuntu,可以使用 或者to来安装。

对于Fedora,使用来安装。

对于基于Arch Linux的系统,使用 或来从AUR仓库中安装。

对于openSUSE,使用 来安装。

tmate
APT-GET命令
APT命令
DNF命令
Yaourt命令
Packer命令
Zypper命令
tmate官网
tmate秒级分享终端工具
tmate立即与任何人分享您的终端会话