domingo, 26 de julho de 2009

SSH sem uso de senha

Como último tópico desta série sobre SSH, vou mostrar como habilitar o ssh sem senha.

Primeiro precisamos gerar um par de chaves públicas/privadas para autenticar com chaves RSA2 ou DSA.

RSA:
ssh-keygen -t rsa
DSA:
ssh-keygen -t dsa

As chaves são gerados no $HOME do usuário que você esta utilizando para que a chave seja criada

~/.ssh/id_rsa.pub
ou
~/.ssh/id_dsa.pub

OBS.: As permissões do home do usuário e do .ssh precisa ser setada como 750 em ambos os servidores.

Depois precisamos instalar a chave pública/privada no servidor ao qual desejamos logar sem senha.

ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_server
ou
ssh-copy-id -i ~/.ssh/id_dsa.pub user@remote_server

Podemos fazer o mesmo processo acima utilizando o comando scp.

scp ~/.ssh/id_rsa.pub user@remote_server:~/.ssh/authorized_keys
ou
scp ~/.ssh/id_dsa.pub user@remote_server:~/.ssh/authorized_keys

OBS.:
O comando acima irá instalar a chave pública local ~/.ssh/id_rsa.pub no arquivo ~/.ssh/authorized_keys do servidor remoto. Este arquivo possui o mesmo formato do arquivo ~/.ssh/know_hosts com uma chave pública por linha.
Para alterar o passphrase caso você tenho escolhido um utilizamos o comando abaixo:

ssh-keygen -p -t rsa -f ~/.ssh/id_rsa.pub
ou
ssh-keygen -p -t rsa -P old_passphrase -N new_passphrase -f ~/.ssh/id_rsa.pub

Após isso é necessário exportar a chave pública para o servidor remoto novamente.

Nenhum comentário:

Postar um comentário