Pesquisa de site

Como usar o Conspy para visualizar e controlar consoles virtuais Linux remotos em tempo real


As redes de computadores possibilitaram que os usuários finais interagissem entre si de diversas maneiras. Eles também forneceram uma maneira de realizar trabalho remoto sem os problemas e custos envolvidos em viagens (ou talvez caminhar até um escritório próximo).

Recentemente, descobri um programa chamado conspy nos repositórios estáveis do Debian e fiquei feliz em descobrir que ele também está disponível para o Fedora e derivados .

Ele permite ao usuário ver o que está sendo exibido em um console virtual Linux e também enviar pressionamentos de tecla em tempo real. De certa forma, você pode pensar no conspy como semelhante ao VNC, com a diferença de que o conspy opera em modo texto (economizando recursos e possibilitando também o suporte a servidores somente CLI) e no topo acima de tudo, não requer a instalação de um serviço do lado do servidor antes de ser usado.

Dito isso, você só precisa ter certeza de que há conectividade de rede com o computador remoto e aprenderá a amar o conspy.

Instalando conspy no Linux

No Debian 8 e derivados, o conspy está disponível diretamente nos repositórios, portanto instalá-lo é tão simples quanto:


aptitude update && aptitude install conspy

Enquanto no CentOS 7 e em outras distros baseadas no Fedora você primeiro precisa habilitar o repositório Repoforge:

1. Acesse http://pkgs.repoforge.org/rpmforge-release e procure pela versão mais recente do repositório (em setembro de 2015, o pacote mais recente é rpmforge-release-0.5 .3-1.el7.rf.x86_64.rpm) e faça o download:


wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

2. Instale o pacote do repositório:


rpm –Uvh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

3. E então instale o próprio pacote conspy:


yum update && yum install conspy

Ambiente de teste usado para conspy

Para ver como o conspy funciona, iremos ssh em um servidor Debian 8 [IP 192.168.0.25] (usando Terminal ou gnome ter, por exemplo) onde o daemon ssh está escutando na porta 11222:


ssh –p 11222 [email 

Bem ao lado do nosso Terminal, colocaremos uma janela Virtualbox que será usada para exibir ttys. Lembre-se de que você precisará pressionar Ctrl + F1 da direita até F6 para alternar entre ttys dentro de uma janela do Virtualbox, e Ctrl + Alt + F1 através F6 para alternar entre consoles em um servidor real (ou seja, não virtualizado).

Usando conspy para exibir e controlar ttys

Para iniciar o conspy, faça ssh no servidor remoto e digite:


conspy

seguido por um número tty (1 a 6). Você notará que a cor de fundo do seu Terminal muda. Usaremos o comando tty para identificar o nome do arquivo do terminal atualmente conectado à entrada padrão. Se um tty não for fornecido como argumento, o console virtual atualmente ativo será aberto e rastreado.

Observe que depois de iniciar o programa como:


conspy 1

O primeiro terminal (tty1) é exibido em vez de pts/0 (o pseudo-terminal inicial para uma conexão ssh):

Para sair, pressione Esc três vezes em rápida sucessão.

Assista Conspy em ação

Para ver melhor o conspy em ação, reserve um minuto para assistir aos seguintes screencasts:

1. Teclas sendo enviadas do cliente para o tty remoto:

2. O conteúdo do Tty é exibido no cliente conforme aparece no tty remoto:

Nos vídeos acima você pode ver algumas coisas interessantes:

  1. Você pode executar comandos ou digitar texto em um pseudoterminal e eles serão visualizados no console remoto e vice-versa.
  2. Não há necessidade de iniciar um programa do lado do servidor no servidor em um local distante, ao contrário de outro software de suporte técnico que exige que alguém inicie um serviço ao qual você possa se conectar remotamente.
  3. Conspy também permite visualizar em tempo real a saída de programas como top ou ping que é atualizado ou alterado continuamente com apenas um pequeno atraso. Isso inclui programas baseados em ncurses, como htop – Linux Process Monitoring:

Se você deseja apenas visualizar um terminal remoto em vez de enviar teclas ou comandos, basta iniciar o conspy com a opção -v (somente visualização).

Usando conspy com Putty

Se você usa um laptop ou desktop Windows para trabalhar, ainda pode aproveitar as vantagens do conspy. Depois de fazer login no sistema remoto com o Putty, o famoso cliente ssh para Windows, você ainda pode iniciar o conspy conforme explicado acima, conforme mostrado no screencast a seguir:

O que mostra que você pode usar este programa independentemente do software cliente ssh usado para se conectar remotamente a um servidor.

Limitações do Conspy

Apesar de seus recursos interessantes, o conspy também possui algumas limitações, que você deve levar em consideração:

  1. Ele permite apenas visualizar, conectar ou controlar terminais reais (ttys), não pseudo (pts/Xs).
  2. Ele pode exibir caracteres não-ASCII (á, é, ñ, para citar alguns exemplos) incorretamente ou nem aparecer:

Requer permissões de superusuário (como root ou através de sudo) para iniciar.

Resumo

Neste guia apresentamos o conspy, uma ferramenta inestimável para controlar terminais remotos que consome muito pouco em termos de recursos do sistema.

Espero que você reserve um tempo para instalar e experimentar este excelente utilitário e recomendo fortemente que você marque este artigo porque, na minha humilde opinião, esta é uma daquelas ferramentas que precisa fazer parte do conjunto de habilidades de todo administrador de sistema.

Estou ansioso para receber seus comentários sobre este artigo. Sinta-se à vontade para me enviar uma mensagem usando o formulário abaixo. Perguntas também são sempre bem-vindas.