Vous êtes sur la page 1sur 2

Autenticao automtica sem senha com protocolo SSH

Enviado por Alexandre Cunha em Sbado, 17/04/2004 - 22:27 Sempre que se estabelece uma conexo baseada no protocolo SSH (por exemplo, com os comandos SSH, SCP, SFTP ou RSYNC) necessrio digitar a password (senha) em algum momento do processo. Este artigo explica como estabelecer uma ligao usando o protocolo SSH sem uso de senha (SSH passwordless) e com total segurana.

1 - Criao das chaves


Vamos criar as chaves. Para isso em modo terminal, digitar o seguinte comando:
ssh-keygen -t rsa

O comando anterior ir criar uma chave de 512 bit usando o algoritmo rsa. Mas se quisermos melhorar a segurana da nossa chave, podemos criar uma chave de 1024 bit. Assim, em alternativa podemos usar o seguinte comando:
ssh-keygen -b 1024 -t rsa

Aps o passo anterior, ir ser pedido qual o ficheiro onde se guarda a chave. Apenas pressione a tecla enter para passar fase seguinte.
Enter file in which to save the key (/home/ac/.ssh/id_rsa):

De seguida ser ser pedida a passphrare (ou frase senha). No indique nada e carregue apenas em enter.
Enter passphrase (empty for no passphrase):

Ser pedida uma confirmao da frase senha. De novo passe adiante usando a tecla enter.
Enter same passphrase again:

Chegou agora concluso do procedimento de criao das chaves. Aparecer uma mensagem semelhante a esta:
Your identification has been saved in /home/user/.ssh/id_rsa. Your public key has been saved in /home/user/.ssh/id_rsa.pub. The key fingerprint is: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00

Esto criados agora 2 ficheiros: ~/.ssh/id_rsa - chave privada que nunca dever partilhar ~/.ssh/id_rsa.pub - chave publica que dever ser colocada nas mquinas onde se pretende ligar sem usar senha Para melhorar a segurana da chave privada e impedir que esta seja lida por terceiros que usem o seu computador, executar o seguinte comando:
chmod 0600 ~/.ssh/id_rsa

Note que qualquer pessoa que tenha esta chave (a sua chave privada!) poder usurpar a sua identidade e fazerse passar por s.

2 - Colocao da chave pblica em servidores remotos


Podemos agora passar colocao da chave pblica nos servidores remotos. Vamos assumir neste exemplo que tem um servidor remoto com o nome remote_host e nesse servidor temos o utilizador remote_user. O ficheiro ~/.ssh/authorized_keys na maquina remote_host contm uma lista de chaves pblicas. Vamos acrescentar o rsa.pub (sua chave pblica) lista de chaves pblicas na mquina remote_host. Comeamos por copiar o id_rsa.pub para a remote_host.
scp ~/.ssh/id_rsa.pub remote_user@remote_host:rsa.pub_importado

De seguida, vamos adiconar a chave criada s chaves autorizadas. Ligamos ao servidor:


ssh remote_user@remote_host

Cria-se o directrio .ssh caso no exista e adiciona-se a chave:


mkdir .ssh chmod 0700 .ssh cat rsa.pub_importado >> .ssh/authorized_keys chmod 0644 .ssh/authorized_keys rm rsa.pub_importado exit

3 - Teste
A partir deste momento poder ligar-se ao servidor remoto usando os vrios comandos do protocolo SSH sem necessitar de digitar a senha. Exemplo:
ssh remote_user@remote_host

Concluso
Espero que este guia o ajude a optimizar as suas tarefas com o protocolo SSH. Pode deixar o seu comentrio ou sugesto de melhoria abaixo.