Conectando via SSH sem digitar senha.

Uma opção muito interessante, que pode aumentar o nosso conforto ao conectarmos com nosso servidor linux é utilizar a troca de chaves RSA durante a conexão SSH ao invés de digitar as senhas da conexão. Assim é possível automatizar conexões e criar scripts remotos com o Plink, além de outras facilidades que a nossa imaginação permitir!

Inclusive, esse recurso pode aumentar a sua segurança, já que nenhum keylogger ou xereta irá espiar você digitando a sua senha… mas basta apenas copiar o arquivo para ter acesso completo e irrestrito 😆

Configurando o Servidor Linux

Vale a pena conferir se as seguintes opções estão habilitadas em seu servidor ssh:

/etc/ssh/sshd_config
RSAAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

Para gerar as chaves RSA no linux, pode-se utilizar o seguinte comando:

$ ssh-keygen -t rsa

Ele irá criar os arquivos id_rsa e id_rsa.pub no diretório ~/.ssh

Adicione todo o conteúdo da chave pública id_rsa.pub no arquivo ~/.ssh/authorized_keys em seu servidor, a chave privada id_rsa deverá ser transferida para a máquina cliente no diretório ~/ssh e ou ser convertida para o formato que o PuTTY irá utilizar no windows.

Certifique-se que as permissões e os destinos dos arquivos sejam seguros, afim de prevenir que alguém não autorizado tenha acesso às chaves.

Agora, no linux já é possível digitar ssh servidor.com.br e a conexão procede de maneira direta e segura!

Conectando-se do Windows em um Servidor Linux (Utilizando o PuTTY)

Se você ainda não possuir o PuTTY e o PuTTYgen, poderá efetuar o download dessas ferramentas no site oficial:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

O PuTTYgen nos permite criar ou converter chaves OpenSSL RSA para utilizar em conjunto com as conexões SSH. O arquivo .ppk deverá ficar em um local seguro dentro do seu computador!

Para configurar o PuTTY, nosso cliente SSH para o Windows, você define o local onde se encontra a chave privada nas opções Connection/SSH/Auth/Private key file for authentication, e opcionalmente em Connection/Data/Auto-login username poderá definir o seu login para automatizar o processo! Pode-se até salvar as opções como uma “Sessão” e até criar um atalho para o putty iniciar a sessão automaticamente, inclusive ao pressionar de um botão especial em seu teclado! 😀

A mesma chave pode ser utilizada em muitos outros programas, como por exemplo o FileZilla! (cliente de SFTP) 🙂

Observações e considerações finais:

Podem ser utilizados diversos pares de chaves independentes para cada máquina e serviço… ou apenas uma única chave para tudo, ficando a nosso critério a administração das chaves com ênfase na segurança e praticidade!

Uma idéia interessante, para aprimorar ainda mais a sua segurança, é criar um script de atualização das chaves.

Em clientes linux, é possível utilizar o rsync para enviar a chave nova para o servidor alvo.

Já em clientes windows, hipoteticamente, se a chave for armazenada no servidor e acessada por um compartilhamento de rede, é possível compilar o puttygen no console e efetuar a conversão da chave openssh por dentro do linux, deixando o processo completamente transparente para o cliente windows!

Assim podemos manter as chaves sempre atualizadas de forma prática e na freqüência desejada.. seja de hora em hora, diariamente, a cada semana, durante o mês, quando quiser! 💡

Escreva seu comentário: