Autenticação SSH sem senha (via chaves)

11/20/2007

O SSH (Secure Shell) em poucas palavras, é um programa que permite criar uma conexão segura com um servidor remoto viabilizando dessa forma o acesso ao console do servidor como se estivesse localmente nele. Administradores de rede/sistemas utilizam bastante esse programa e muitos deles usam a autenticação com chaves no seu dia-a-dia para acessá-los. Vejamos como fazer isso em seu Ubuntu:

O primeiro passo é criar um par de chaves RSA (uma chave privada e uma chave pública) para autenticação. Para isso use o comando:

$ ssh-keygen -t rsa

Após executar o comando acima, você será questionado para informar onde a chave privada será salva (neste ponto tecle <Enter>).

Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa): <Enter>

Em seguida, será solicitado que informe a “passphrase” (frase secreta). A frase secreta é uma senha que irá identificá-lo(a) como proprietário(a) da chave privada. É chamada de frase secreta porque pode conter espaços e não há limite de caracteres.

Enter passphrase (empty for no passphrase): <Digite a senha>
Enter same passphrase again: <Digite a mesma senha>

Após digitar a senha, a seguinte informação será exibida informando onde as chaves foram armazenadas (/home/usuario/.ssh/id_rsa é a chave privada e /home/usuario/.ssh/id_rsa.pub é a chave pública).

O segundo passo então é copiar a chave pública para o servidor remoto. Esse procedimento consiste em colocar o conteúdo da chave pública dentro do arquivo
authorized_key e então copiá-lo para o servidor remoto. Use o comando ssh-copy-id para fazer isso automaticamente:

$ ssh-copy-id <servidor>

A senha que será solicitada no passo acima é do usuário no servidor remoto.

Pressione, <Alt>+<F2>, digite ssh-add e informe sua senha (passphrase).

Alt+F2

Após realizar o procedimento descrito acima, tente acessar o servidor remoto:

$ ssh <usuario>@<servidor>

Por fim, para evitar que você tenha que digitar sempre a senha (passphrase) utilizando a autenticação via chaves, acrescente em Sistemas -> Preferências -> Sessões -> Aba Programas Inicias -> Botão Adicionar a execução do ssh-add. Esse procedimento mantém a senha salva na sessão (o ssh-agent irá gerenciar as autenticações).

Programa Inicial

Dessa forma, será possível que você realize acesso ao servidor remoto, de uma forma segura e sem a necessidade de uma senha.

6 Respostas to “Autenticação SSH sem senha (via chaves)”

  1. Krix Apolinário said

    Olá gostei do post mas gostaria de saber e se eu quizer a chave com senha como seria o procedimento???

  2. Beto said

    muito bom! tava procurando por isso a tempos!
    fazendo isso posso criar um script que sincronize os discos do servidor com o da minha maquina local, sem ter que informar senhas?

    Obrigado

  3. […] incrementar sua configuração adicione suas chaves publicas para não precisar fazer o login toda a vez que faz um push ao […]

  4. Pedro Renan said

    Muito legal isso aqui, já tinha achado outros tutos, mas esse foi o melhor.

  5. […] publicas e privadas e fazer o login do SSH via chaves. Segue um tutorial que achei no google: Autenticação SSH sem senha (via chaves) Abraços, Ruy Neto Linux User: #241330 CCNA Certified http://fuzzytech.wordpress.com […]

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: