Usando autentica??o RSA/DSA – chave p?blica/privada

  • Post author:
  • Post category:Sem categoria

Este m?todo de autentica??o utiliza o par de chaves p?blica (que ser? distribu?do nas m?quinas que voc? conecta) e outra privada (que ficar? em seu diret?rio pessoal) para autentica??o. A encripta??o e decripta??o s?o feitas usando chaves separadas e n?o ? poss?vel conseguir a chave de decripta??o usando a chave de encripta??o. ? poss?vel inclusive gerar uma chave sem senha para efetuar o logon em um sistema ou execu??o de comandos remotos (este esquema ? um pouco mais seguro que os arquivos ~/.rhosts e ~/.shosts).

Siga os seguintes passos para se autenticar usando RSA 1 – usada na vers?o 1 do ssh:

Gere um par de chaves p?blica/privada usando o comando:
ssh-keygen

Um par de chaves RSA vers?o 1 ser? gerado com o tamanho de 1024 bits por padr?o, garantindo uma boa seguran?a/performance, e salvas no diret?rio ~/.ssh com o nome identity e identity.pub. Para alterar o tamanho da chave use a op??o -b tamanho. Depois de gerar a chave, o ssh-keygen pedir? uma frase-senha (? recomend?vel ter um tamanho maior que 10 caracteres e podem ser inclu?dos espa?os). Se n?o quiser digitar uma senha para acesso ao sistema remoto, tecle quando perguntado. Mude as permiss?es do diret?rio ~/.ssh para 750.

A op??o -f especifica o diret?rio e nome das chaves. A chave p?blica ter? a extens?o .pub adicionada ao nome especificado.

ATEN??O Nunca distribua sua chave privada, nem armazene-a em servidores de acesso p?blicos ou outros m?todos que permitem outros terem acesso a ela. Se precisar de uma c?pia de seguran?a, fa?a em disquetes e guarde-a em um lugar seguro.

Instale a chave p?blica no servidor remoto que deseja se conectar, por exemplo, www.sshserver.org:
ssh-copy-id -i ~/.ssh/identity [email protected]

A fun??o do utilit?rio acima ? entrar no sistema remoto e adicionar a chave p?blica local ~/.ssh/identity.pub no arquivo /home/gleydson/.ssh/authorized_keys do sistema remoto www.sshserver.org. O mesmo processo poder? ser feito manualmente usando os m?todos tradicionais (ssh/scp). Caso o arquivo remoto /home/gleydson/.ssh/authorized_keys n?o existe, ele ser? criado. Seu formato ? id?ntico ao ~/.ssh/know_hosts e cont?m uma chave p?blica por linha.

Agora utilize o ssh para entrar no sistema remoto usando o m?todo de chave p?blica/privada. Entre com a senha que usou para gerar o par de chaves p?blico/privado (ele entrar? diretamente caso n?o tenha digitado uma senha).
Para autenticar em uma vers?o 2 do ssh (usando chave RSA 2 ou DSA):

Gere um par de chaves p?blica/privada usando o comando:
ssh-keygen -t rsa -f ~/.ssh/id_rsa

ou

ssh-keygen -t dsa -f ~/.ssh/id_rsa

Um par de chaves RSA 2/DSA ser? gerado. Para alterar o tamanho da chave use a op??o -b tamanho. Depois de gerar a chave, o ssh-keygen pedir? uma frase-senha (? recomend?vel ter um tamanho maior que 10 caracteres e podem ser inclu?dos espa?os). Se n?o quiser digitar uma senha para acesso ao sistema remoto, tecle quando perguntado. Mude as permiss?es do diret?rio ~/.ssh para 750.

ATEN??O Nunca distribua sua chave privada, nem armazene-a em servidores de acesso p?blicos ou outros m?todos que permitem outros terem acesso a ela. Se precisar de uma c?pia de seguran?a, fa?a em disquetes e guarde-a em um lugar seguro.

Instale a chave p?blica no servidor remoto que deseja se conectar copiando o arquivo com:
scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/authorized_keys2
ou
scp ~/.ssh/id_dsa.pub [email protected]:~/.ssh/authorized_keys2
(caso tenha gerado a chave com a op??o -t dsa)

Caso o arquivo remoto /home/gleydson/.ssh/authorized_keys2 n?o existe, ele ser? criado. Seu formato ? id?ntico ao ~/.ssh/know_hosts2 e cont?m uma chave p?blica por linha.

Agora utilize o ssh para entrar no sistema remoto usando o m?todo de chave p?blica/privada. Entre com a senha que usou para gerar o par de chaves p?blico/privado (ele entrar? diretamente caso n?o tenha digitado uma senha).
OBS: Dever? ser levado em considera??o a possibilidade de acesso f?sico ao seu diret?rio pessoal, qualquer um que tenha posse de sua chave privada poder? ter acesso ao sistema remoto. O tipo de chave criada por padr?o ? a rsa1 (compat?vel com as vers?es 1 e 2 do ssh). A op??o -t [chave] poder? ser usada (ao gerar a chave) para selecionar o m?todo de criptografia:

rsa1 – Cria uma chave rsa compat?vel com a vers?o 1 e 2 do ssh (esta ? a padr?o).
rsa – Cria uma chave rsa compat?vel somente com a vers?o 2 do ssh.
dsa – Cria uma chave dsa compat?vel somente com a vers?o 2 do ssh.
Para trocar a senha utilize o comando: ssh-keygen -p -t tipo_chave -f ~/.ssh/identity – ser? pedida sua senha antiga e a nova senha (no mesmo estilo do passwd). Opcionalmente voc? pode utilizar a sintaxe: ssh-keygen -p -f ~/.ssh/identity -P senha_antiga -N senha_nova, que troca a senha em um ?nico comando (?til para ser usado em scripts junto com a op??o -q para evitar a exibi??o de mensagens de sa?da do ssh-keygen).