Configure SSH para acesso sem senha

ssh

SSH, ou Secure Shell, é um shell seguro usado para o acesso remoto de todos os tipos de dispositivos a servidores, através de um canal tunelizado e protegido por encriptação, o que lhe confere uma segurança que impede, ou pelo menos torna extremamente difícil, que terceiros possam interceptar o nome de utilizador ou a palavra-passe. No caso do * Nix, temos este protocolo disponível através do OpenSSH, um conjunto de soluções cliente-servidor disponível em todas as distribuições Linux e plataformas relacionadas como * BSD.

Agora, se o SSH nos oferece um excelente nível de segurança, por que quereríamos usá-lo sem a necessidade de digitar uma senha? Pode haver vários motivos, mas um que comumente se destaca como gerador é a necessidade de logar remotamente através de scripts e realizar tarefas de superusuário, e é que como bem sabemos não é aconselhável colocar esses dados em nenhum script. Para resolver este problema, vamos ver como gerar chaves SSH para poder fazer login remotamente sem a necessidade de uma senha.

Isso nos requer gerar uma chave pública e uma chave privada: la primera será almacenada en el servidor al cual vamos a acceder y como su nombre lo indica podemos enviarla o compartirla, y la segunda estará almacenada en el dispositivo (ordenador, smartphone, tableta) desde el cual vamos a acceder a dicho servidor, y deve ser mantido com muito cuidado e apenas usado por nós ou por pessoas em quem confiamos.

Pelo que foi mencionado no parágrafo anterior, é importante comentar que este tipo de solução exige uma responsabilidade muito grande no cuidado dos dispositivos a partir dos quais vamos entrar em um servidor, que é de quem tem acesso eles podem acessá-lo sem precisar saber a senha, o que é um grande risco de segurança. Com isso esclarecido, vamos ver como podemos iniciar, e para isso a primeira coisa é ter o daemon SSH instalado no servidor:

# apt-get install openssh-server

Agora temos que criar o diretório .ssh no diretório do usuário:

# mkdir -p $ HOME / .ssh

# chmod 0700 $ HOME / .ssh

# touch $ HOME / .ssh / authorized_keys

Nós editamos o arquivo / etc / ssh / sshd_config e verificamos se as seguintes linhas são como estão:

PubkeyAuthentication sim

AuthorizedKeysFile% h / .ssh / authorized_keys

Agora vamos ao cliente e executamos:

ssh-keygen -t rsa

Seremos informados de que a chave está sendo criada e seremos solicitados a inserir o arquivo no qual ela será armazenada (por padrão, estará em nossa casa, em uma pasta chamada /.ssh/id_rsa). Podemos pressionar Enter já que esse local nos atende perfeitamente, e então pressionamos Enter novamente nas duas vezes que nos é solicitado digite uma senha já que, lembre-se, vamos inserir remotamente sem inserir nenhum dado, portanto, também não queremos nenhuma frase.

Agora que temos a chave pública, devemos compartilhá-la com os computadores aos quais vamos nos conectar. Supondo que o servidor de que estamos falando tenha o endereço 192.168.1.100, o que você deve fazer é:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub root@192.168.1.100

Após a cópia, seremos convidados a execute o login remoto para testar as chaves, e deve-se levar em consideração que neste caso raiz É a conta com a qual vamos acessar o servidor, então se quisermos fazer isso com outro usuário devemos modificar o root para a conta de usuário com a qual vamos realizar o acesso via SSH.

Agora, só precisamos reiniciar o servidor SSH para que ele receba a nova configuração:

# /etc/init.d/ssh reiniciar

A partir de agora, se quisermos acessar um segundo servidor e fazê-lo sem inserir uma senha, basta enviar a chave pública, com a qual simplesmente repetimos o último passo, alterando o usuário e o endereço IP conforme necessário:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub admin@192.168.1.228


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   secante dito

    Obrigado pela informação, mas nada… não tem como….
    Venho tentando a manhã toda e sempre pede minha senha.
    Há algum tempo tentei e deixei como impossível pelo mesmo motivo….
    Eu crio minha chave no meu Macbook, copio-a para o meu raspberry em ~ / .ssh / authorizedKeys
    Eu configuro o sshd.conf com autenticação pública e verifico se o diretório das chaves está exatamente onde as chaves estão. Eu reinicio o raspberry e ao conectar ele me pede novamente a senha
    O que pode falhar?

    1.    secante dito

      Depois de várias horas tentando muitas coisas, descobri que com meu usuário criado isso nunca funciona, mas com o usuário padrão chamado "ubuntu" ele funciona pela primeira vez.
      Algum esclarecimento sobre por que isso pode acontecer?
      Saludos y gracias