IFPR-Labtelecom: Tmate/tmate-io

Tmate é um multiplexador de terminal, isto é, permite compartilhar uma sessão do terminal com vários usuários. O tmate é um fork do projeto tmux e está com a licença BSB [2]. No Labtelecom o tmate é usado com uma das alternativas para acesso remoto de alguns equipamentos.

O tmate quando inicializado é estabelecida uma conexão no servidor tmate e gera quatro links de acesso, podendo ser acessado no navegador ou pelo terminal pelo ssh. Por exemplo, com o comando tmate show-messages é apresentada a janela abaixo com os quatro links, sendo duas seções (read-only), ou seja, quem tiver o link poderá visualizar a seção do terminal, mas não poderá executar algum comando.

Sun Aug 1 12:00:00 2019 [tmate] Connecting to master.tmate.io...

Sun Aug 1 12:00:00 2019 [tmate] Note: clear your terminal before sharing readonly access

Sun Aug 1 12:00:00 2019 [tmate] web session read only: https://tmate.io/t/ro-Kea9YkE82aLAoY7qV1AIqtg1W

Sun Aug 1 12:00:00 2019 [tmate] ssh session read only: ssh ro-KeV9YaE85aLAoY7qV11Iqqg1W@ny2.tmate.io

Sun Aug 1 12:00:00 2019 [tmate] web session: https://tmate.io/t/R8HaJnuxs3NgGYaU1g85ADuPo

Sun Aug 1 12:00:00 2019 [tmate] ssh session: ssh R8HzJ3uxs3NgGYa28g85ADaPo@ny2.tmate.io

Importante salientar que esses links são randômicos e os endereços de acesso mudam aleatoriamente cada vez que computador estabelece um conexão com o servidor tmate.io.

Instalação:

No Debian, basta utilizar os comandos apt-get update e apt-get install tmate.

Iniciamente, é necessário gerar as chaves pública e privada RSA com o comando ssh-keygen no terminal.

Crontab:

É possível automatizar o script para iniciar um nova sessão no arquivo crontab pelo seguinte parâmetro:

DISPLAY=:0.0 xterm -geometry 120x30 -e "./script_tmate.sh"

O arquivo script_tmate.sh contém os seguintes comandos:

sudo killall tmate; tmate -S /home/pi/tmate;

O servidor principal do Labtelecom (Amanda) permite o acesso remoto utilizando o tmate. Nessa situação, o servidor envia as chaves de acesso para o arquivo /home/gustavo/Dropbox/servidores/tmate_amanda.txt.

O arquivo com os links de acesso é enviado para o Dropbox pelo comando

tmate show-messages > /home/gustavo/Dropbox/servidores/tmate_amanda.txt

Seção de teste:

Iniciar sessão do tmate no terminal;

tmate -S /home/gustavo/tmate;

ou

cd /home/gustavo/Dropbox/servidores; ./script_amanda_tmate_start.sh;

Verificar chaves de acesso:

tmate -S /home/gustavo/tmate show-messages