:. SSH com login automático

Dica escrita por: Carlos E. Morimoto

 

Se você abre conexões SSH com frequência, sempre com as mesmas máquinas já deve estar cansado de ter que ficar digitando seu longo password de 16 caracteres a cada nova conexão. A boa notícia é que você pode armazenar sua chave de autenticação no servidor, automatizando o login.

Para isso antes de mais nada abra o arquivo /etc/ssh/sshd_config no servidor ssh e certifique-se que não exista uma linha "PubkeyAuthentication no". O default para esta opção é yes, caso encontre a linha basta adicionar uma tralha (#) para desativá-la. Reinicie o serviço SSH para que a alteração entre em vigor.

De volta ao cliente, rode o comando "ssh-keygen -t rsa" (no seu login de usuário, não como root!) para gerar sua chave de autenticação. Agora vem o comando final, que grava a chave no servidor, permitindo que você se conecte sem senha:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub seu_login@192.168.0.4

Substitua o "seu_login" pelo seu login de usuário e o endereço IP pelo endereço correto do servidor. Forneça sua senha uma última vez e violá, agora basta dar um "ssh ip_do_servidor" para que a conexão seja feita automaticamente, sem precisar de senha.

O que fizemos aqui foi simplesmente automatizar o processo de autenticação. Tanto o servidor quanto o cliente possuem a mesma chave de autenticação, então o servidor precisa apenas verificar a chave do cliente, como se fosse uma senha.

Não existe prejuízo para a segurança. O único cuidado é que ninguém jamais deve ter acesso ao diretório .ssh/id_rsa.pub dentro do seu diretório de usuário que é onde fica armazenada sua chave de autenticação. De posse da chave qualquer um poderia se conectar no servidor usando seu login, já que esta passa a ser sua senha.