sexta-feira, 17 de abril de 2009

Logando com segurança num servidor ssh sem uso de senha

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/

ou

[root@arquimedes .ssh]# scp id_rsa.pub root@192.168.1.106:/root/.ssh/

Será copiado nossa chave pública para o servidor(máquina onde será logado sem senha). 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) //isso será executado no servidor(máquina onde será logado sem senha).

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!!!!

Fonte: http://www.dicas-l.com.br/dicas-l/20050804.php

Nenhum comentário: