domingo, 8 de novembro de 2009

Login automático em ssh com o Putty

Não há razão para se estar sempre a escrever usernames e passwords quando se liga a servidores remotos via ssh com o PuTTY.

Eis aqui como fazer:
  1. Ter o PuTTY
  2. Ter o PuTTYgen
  3. Ter o PAgent
Todos estes programas estão acessíveis em: http://www.chiark.greenend.org.uk/~sgtatham/putty

Antes de mais é necessário gerar uma chave pública e uma chave privada:
  1. Lançar o PuTTYgen
  2. Carregar em Generate
  3. Mover o rato na zona cinzenta para introduzir algum ruído para facilitar a aleatoriedade da chave.
  4. Depois de gerada a chave, escrever um comentário que irá identificar a mesma
  5. Introduzir a Palavra-Chave e a respectiva confirmação. É esta chave que permite abrir a chave privada gerada
  6. Guardar as chaves pública e privada no disco
O conteúdo da chave pública deverá ser copiada para cada um dos servidores remotos aos quais pretendemos ligar. A localização no servidor remoto onde colocar a chave pública é em /home//.ssh/authorized_keys2. No caso do utilizador root, colocar em /root/.ssh/authorized_keys2.

Editar o ficheiro authorized_keys2, e adicionar no fim, numa nova linha, o seguinte:
ssh-rsa
O poderá ser o mesmo que o colocado no ponto 4. Auxilia visualmente a identificar a chave. Salvar o ficheiro.

A directoria .ssh deverá apenas ter permissões para o próprio utilizador (rwx).

Para ligar automaticamente via ssh, é necessário colocar o programa PAgent a correr e adicionar a chave privada. Depois disto o programa pede a Palavra-Chave da chave privada. Introduzir a Palavra-Chave indicada no ponto 5. A partir deste momento é só abrir uma nova consola PuTTY, iniciar uma ligação com um servidor remoto que tenha a chave pública criada, e temos o login automático. Sem mais configurações é ainda necessário introduzir o username, mas a password é automaticamente colocada pelo PuTTY.

Tomar em atenção que o PAgent tem de estar a correr para se usufruir desta funcionalidade.

Para completar o automatismo:
  1. Nas ligações do PuTTY, na parte do Host Name, introduzir: @IP, para o processo ser completamente automático
  2. Para carregar automaticamente as chaves no PAgent, passar na linha de comandos o caminho completo para o ficheiro da chave privada (ex: c:\pchave.ppk)

A Palavra-Chave indicada no ponto 5 tem de ser sempre colocada quando o PAgent corre pela primeira vez numa sessão Windows.

Por ser um mecanismo automático tomar em extrema atenção e não deixar o computador sem vigilância (isto é, bloquear a sessão sempre).