16 set 06

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


Filed under: Gnu/Linux,Security

Trackback Uri