… BlogMind …

“Quando examino a mim mesmo e aos meus métodos de pensar, chego à conclusão que o dom da fantasia significa muito mais para mim que qualquer outro talento para pensar positiva e abstractamente.” - Albert Einstein

Seja Feliz com SSH+Screen …

screeen.gifNo dia-a-dia de um Administrador de Sistemas Unix em Geral é constante ter que abrir diversos terminais e logar em diferentes servidores ao mesmo tempo e ter que repetir este processo muitas vezes ao dia e com diferentes senhas e etc …

Este processo é desgastante e não agrega nada ao processo da Administração e Segurança, somente nos causa perda de tempo.

Uma saída excelente e que a partir do momento que adotei vi o quanto isto agregou no meu trabalho e diminui o retrabalho ao digitar senhas e encher minha tela de Teminais.

Vamos lá:

Em primeiro lugar instale o Screen em sua máquina, se não conhece  dê uma lida no Post do Aurélio sobre o uso do Screen (não vou entrar neste ponto) mas depois de começar a usá-lo simplesmente eu viciei!!

O que faz o Screen basicamente? Ele te possibilita abrir diversos terminais virtuais (janelas) dentro do mesmo terminal e alternar entre eles simplesmente digitando crtl+a. Isto é a maior mão-na-roda, pois de um mesmo terminal você pode administrar todos os seus servidores, abrindo terminais virtuais e utilizando cada um para conectar a um servidor diferente.

Onde queremos chegar? O nosso objetivo é utilizar o Screen para maximizar o nosso uso dos Teminais e utilizar alguns recursos mais avançados do SSH para não precisar digitar a senha em cada servidor que formos logar (vamos digitar somente uma vez).

Depois de instalado o screen e você já se viciou nele (como eu), faça o seguinte:

1) Vamos criar sua chave pública e privada pois utilizaremos assinatura digital (por chave pública e privada) para autenticarmos nos servidores. Utilize o comando abaixo para criar sua chaves usando Criptografia DSA:

Zen-La:~ Godoy$ ssh-keygen -t dsa

O sistema irá lhe pedir uma “passphrase” que nada mais é do que uma senha que protegerá sua chave privada. Coloque algo dificil e grande!!

Depois disso o sistema irá gerar uma chave pública e privada e gravará em $HOME/.ssh/id_dsa (privada) e $HOME/.ssh/id_dsa.pub (publica).

Agora será necessário copiar a sua chave pública (id_dsa.pub) para cada servidor que for acessar. Utilize o comando abaixo:

Zen-La:~ Godoy$ cat ~/.ssh/id_dsa.pub | ssh nome-do-user@IP-da-outra-maquina `cat - >> ~/.ssh/authorized_keys`

2) Abra um terminal normalmente e digite como primeiro comando:

Zen-La:~ Godoy$ ssh-agent screen

Isto irá carregar o Screen como um processo filho do ssh (verifique com um ps afx)

2) De dentro do Screen, antes de abrir seus terminais virtuais, vamos carregar sua passphase para a memória para não ter que digitar a cada login nos servidores que for conectar:

Zen-La:~ Godoy$ ssh-add

O sistema irá solicitar a sua passphase , como abaixo:

Enter passphrase for /Users/Godoy/.ssh/id_dsa:

Podes verificar o figerprint de sua assinatura com o comando abaixo:

Zen-La:~ Godoy$ ssh-add -l

Ou se podes verificar sua chave-publica com o comando abaixo, é útil para copiar e colar no arquivo authorized_keys que vais acessar:

 Zen-La:~ Godoy$ ssh-add -L

3) Agora já podes abrir outros terminais virtuais (ctrl+c) de dentro do Screen e acessar todos os Servidores para os quais já carregou sua Chave-Pública sem precisar digitar qualquer senha ou sua passphase.

Zen-La:~ Godoy$ ssh nome-do-user@IP-da-outra-maquina

Podes fechar os terminais com ctrl+k e abrir outros com ctrl+c ou até mesmo dividir as tela de um terminal virtual em dois, logando em servidores diferentes e rodando aplicações distintas … em suma usando todos os recursos do Screen deslogando quantas vezes for necessário e logando novamente sem precisar digitar a senha ou a passphase novamente.

OBS1:> Se sair do Screen fechando todos os terminais virtuais ou matando o processo terá que fazer os passos 2 e 3 novamente!!

OBS2:> Só mais uma dica: Teste levantar o X como processo filho do ssh com o comando abaixo e veja que o uso do ssh-agent são limitados pela sua imaginação:

Zen-La:~ Godoy$ ssh-agent startx

 

Abraços




Creative Commons License
Textos do Blog Blogmind sao licenciados sobre a Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil License.
Parte do Trabalho de
Leandro Godoy - www.opencode.com.br.

Total

2 total Comentarios, deixe seu Comentario ou trackback.
  1. Setembro 16th 2006
  2. Setembro 16th 2006

Deixe seu Comentario ...


Pesquisa

Tem muita coisa neste Blog (algumas até úteis). Pode pesquisar por palavras chaves aqui: