No próximo artigo, daremos uma olhada no Tmate. No mundo Gnu / linux, existem vários programas populares para compartilhar uma área de trabalho remotamente (como Teamviewer, Guacamole e TigerVNC, etc). Esses programas são usados para compartilhar sua tela inteira com outras pessoas. Se for apenas o terminal que queremos compartilhar, o Tmate é possivelmente a melhor opção. Na verdade, este programa é um fork do Tmux. Tmate é algo como um Teamviewer para nosso terminal.
Sirva-se irá estabelecer uma conexão segura via SSH com o site tmate.io e gerar um URL aleatório para cada sessão. O URL gerado pode ser compartilhado com alguém em quem confiamos. Isso nos permitirá usar o terminal remoto da forma como usaríamos o nosso, desde que a conexão esteja ativa. É uma ótima opção para colaborar em projetos comuns, depurar um projeto com uma equipe de desenvolvedores ou obter suporte técnico remotamente. Este programa é compatível com GNU / Linux, Mac OSX e BSD.
Instalação do Tmate no Ubuntu e derivados
No Ubuntu e em seus derivados, como o Linux Mint, você pode instale este programa usando o seguinte PPA no terminal (Ctrl + Alt + T). Porém, antes disso, teremos que instalar o pacote necessário digitando:
sudo apt-get install software-properties-common
Agora podemos adicionar o PPA ao nosso sistema e instalar o programa. Para isso, escrevemos a seguinte sequência de comandos:
sudo add-apt-repository ppa:tmate.io/archive && sudo apt-get update && sudo apt-get install tmate
configurar ssh
Antes de começar a usar este programa, precisamos criar um par de chaves SSH. Porque o programa tmate estabelece uma conexão SSH segura com tmate.io usando o par de chaves SSH local. Faremos isso escrevendo o seguinte em nosso terminal (Ctrl + Alt + T):
ssh-keygen -t rsa
Uso de tomate
Assim que o par de chaves SSH for criado, iniciaremos o Tmate executando o seguinte comando em seu Terminal:
tmate
Quando a sessão é estabelecida, podemos compartilhar o ID da conexão com qualquer pessoa. Ele pode ser compartilhado com qualquer número de pessoas em quem você confia. Eles não precisam estar na mesma rede nem precisam usar o mesmo sistema operacional. Eles nem mesmo precisam ter tmate ou tmux instalado em seus sistemas.
É assim que as sessões Tmate se parecem:
Como pode ser visto na captura de tela acima, ela nos mostrará um ID de sessão SSH (uma sequência de caracteres aleatórios) na parte inferior do terminal. Teremos apenas que copiá-lo e compartilhá-lo com outras pessoas para que possam se conectar. Tenha em mente que este ID irá desaparecer após alguns segundos. No entanto, podemos ver os IDs de sessão que foram usados com o seguinte comando:
tmate show-messages
A saída do comando acima seria algo como o seguinte:
Como você pode ver na saída acima, você pode compartilhar o terminal via sessão SSH ou sessão web. Para isso, teremos que usar os respectivos IDs de sessão. Além disso, você pode compartilhar a sessão somente leitura ou a sessão de leitura e gravação.
Conecte-se por meio de sessões SSH
Para aqueles usuários que desejam compartilhar o Terminal por meio de sessões SSH, você terá que fornecer a ID da sessão SSH aos usuários remotos.
Por exemplo, usando os IDs gerados na captura de tela anterior. Os usuários remotos devem digitar o seguinte comando para acessar a sessão somente leitura que foi gerada no sistema.
ssh ro-w3boCOq2a5rLDpFnFRUudKTH5@am2.tmate.io
Na sessão somente leitura, os usuários remotos podem ver apenas o Terminal. Eles não podem executar nenhum comando.
Para compartilhar a sessão de leitura e gravação, o comando a ser enviado seria:
ssh R1bXaNj7ZM9r5459Dgpuyl8gS@am2.tmate.io
Nesse caso, os usuários remotos podem acessar o terminal no modo de leitura e escrita. Isso significa que eles podem executar qualquer comando. Todos os comandos que você escreve na sessão remota também podem ser vistos no seu Terminal local.
Conecte-se por meio de sessões da web
Para aqueles que desejam compartilhar o Terminal por meio de um navegador da web, eles simplesmente terão que passar a URL da web para que outras pessoas se conectem.
Digamos, por exemplo, que para compartilhar leitura e escrita, eu teria que fornecer a seguinte URL aos meus colegas de trabalho: https://tmate.io/t/R1bXaNj7ZM9r5459Dgpuyl8gS
Quando eles abrirem esse URL no navegador, ele se parecerá com a seguinte captura de tela:
Para sair de uma sessão, basta digitar no terminal saída. Se alguém precisar de mais detalhes sobre este programa, você pode consultar as páginas de manual que ele disponibiliza para nós. Também podemos obter mais informações em o site do projeto.
Conceito muito interessante