Infrastructure 知识: tmate: 类tmux的终端共享工具
介绍
tmux有个好用的功能就可以让同时登录的用户共享tmux会话:
- 一起排错时,一个人敲一个人看,然后互换(也就是2个人都对会话可以实时读写)
- 一起Pair coding
tmux有限制: 两个人必须同时已经ssh上这台机器了(一般时这2个人都是内网的,都可以ssh进这台机器)
tmate解决了这个问题: 它可以让你的tmux会话开放给世界上的任何人连进来。
tmate是基于tmux的
Home page
https://github.com/tmate-io/tmate
安装使用
Temate depends on libevent-2.0, 只有RHEL7上有; RHEL8上装不了(libevent-2.1)
在RHEL7上没问题,在RHEL8上可以安装在Docker容器中
以下为RHEL8上安装的例子
$ podman run -it docker.io/centos:centos7 // 抓取并进入容器
在容器里面执行
# yum install wget
# wget --no-check-certificate https://li.nux.ro/download/nux/dextop/el7/x86_64/tmate-2.2.1-2.el7.nux.x86_64.rpm
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install tmate-2.2.1-2.el7.nux.x86_64.rpm
Dependencies Resolved
=============================================================================================================
Package Arch Version Repository Size
=============================================================================================================
Installing:
tmate x86_64 2.2.1-2.el7.nux /tmate-2.2.1-2.el7.nux.x86_64 706 k
Installing for dependencies:
libevent x86_64 2.0.21-4.el7 base 214 k
libssh x86_64 0.7.1-7.el7 extras 195 k
msgpack x86_64 3.1.0-4.el7 epel 27 k
# yum install openssh // 需要ssh-keygen生成key-pair
# ssh-keygen //generate ssh keypair
# tmate // 执行开启新的tmux 会话
在会话的底部会显示类似 ssh ABCD1234WHTXYZ@abc.tmate.io)
让对方使用以上ssh命令连上来即可
注意: 本机运行tmate的用户必须有ssh key pairs