Fazendo SSH com segurança sem senha

De LCAD
Ir para: navegação, pesquisa

O propósito deste tópico surgiu da necessidade de configurarmos a maquina de backup para logar na entreprise com SSH sem senha para o usuario root para execucao dos scripst de backup.

O método utilizado foi a criptografia assimétrica, que é baseada em uso de duas chaves: uma pública e uma privada. A pública será colocada no servidor enquanto que a privada ficará em sua máquina. Esse tipo de logon é bastante usado caso você faça muito uso de scripts e não é boa idéia colocar a senha nesses tipos de arquivo. segue abaixo:

Criação das chaves

Na maquina local (backup) como root execute o seguinte comando:

ssh-keygen -b 1024 -t rsa

Esse comando chama o utilitário 'ssh-keygen' e diz para criar uma chave de 1024 bits e usando o algoritmo rsa. Para a chave ser criada deverá ter no mínimo 512 bits, mas 1024 é o suficiente para ter uma ótima segurança. Caso seu servidor use SSH versão 1 terá que ser usado o algoritmo rsa, mas se for versão 2 poderá ser usado tanto rsa como dsa. Caso use dsa, ficará assim: ssh-keygen -b 1024 -t dsa.

Feito isso aparecerá no seu console:

Enter file in which to save the key (/root/.ssh/id_rsa):

Aqui será especificado o local onde será criada as chaves. O ideal é não alterar. Pressione ENTER.

Enter passphrase (empty for no passphrase):

Nesse ponto é que está o segredo!!! Aqui pedirá uma 'passphrase' que é uma 'frase-senha', mas como queremos nos logar sem senha, aperte ENTER, e não coloque nada.

 Enter same passphrase again:

ENTER de novo.

 Your public key has been saved in /root//.ssh/id_rsa.pub.
 The key fingerprint is:
 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00

Aparecendo isso que dizer que as chaves foram criadas com sucesso. (A 'key fingerprint' é diferente em cada caso). Agora falta pouco para terminarmos... Vá até o diretório /root/.ssh:

cd /root/.ssh

Agora copie sua chave publica (id_rsa.pub) para a maquina que deverá conectar-se sem senha, no noso caso a enterprise:

 scp id_rsa.pub root@ip_do_servidor:/root/.ssh/

Será copiado nossa chave pública para o servidor. Não esqueça, tem que ser a chave PÚBLICA. A privada nunca sai de sua máquina. scp é o utilitário que irá copiar nossa chave, id_rsa.pub é a nossa chave (caso você tenha escolhido o algoritmo DSA, o nome será id_dsa.pub), root é o usuário, ip_do_servidor é o servidor e finalmente o caminho para onde vai a chave.

Agora logando-se na máquina você perceberá que o servidor ainda pede a senha. O que temos que fazer é ir no diretório onde está a chave pública e mudarmos o nome para 'authorized_keys':

cd /root/.ssh
mv id_rsa.pub authorized_keys (caso seja rsa)
mv id_rsa.pub authorized_keys2 (Olha o 2 aí)(caso seja dsa)

Dê um logout com 'exit': exit

E logue-se de novo e não pedirá mais a senha!!!!

Turorial feito por: Gabriel Menezes Nunes
Adaptado por:       Renderson Loriato (LCAD - UFES)
Retirado do site "Dicas-L" (http://www.dicas-l.com.br/print/20050804.html)