Nesta dica ilustrarei como logar num servidor ssh sem uso
de senha, mas mantendo a segurança. Como farei isso? Será
usada 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
Exemplificando como se o usuário "gabriel" fosse aquele
para o qual você quer criar a chave (serve para qualquer
usuário).
Digite no console:
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 (/home/gabriel/.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 /home/gabriel/.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... Digitando esse
comando:
scp id_rsa.pub gabriel@10.0.0.5:/home/gabriel/.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), gabriel
é o usuário, 10.0.0.5 é 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':
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!!!!