Configurar Autenticação Baseada em Chaves para SSH

Red Hat Enterprise LinuxBeginner
Pratique Agora

Introdução

Neste desafio, você configurará a autenticação baseada em chaves para o SSH, que representa uma alternativa muito mais segura do que o uso tradicional de senhas. Você irá gerar um par de chaves pública e privada, autorizará a chave pública no servidor e configurará o serviço SSH para permitir conexões utilizando essa chave. Isso permitirá que você acesse o servidor SSH sem a necessidade de digitar uma senha, aumentando tanto a segurança quanto a conveniência operacional.

Este é um Desafio (Challenge), que difere de um Laboratório Guiado por exigir que você tente concluir a tarefa de forma independente, em vez de apenas seguir instruções passo a passo. Os desafios costumam ter um nível de dificuldade maior. Se encontrar dificuldades, você pode debater com o Labby ou consultar a solução. Dados históricos mostram que este é um desafio de nível iniciante com uma taxa de aprovação de 90%. Ele recebeu uma taxa de avaliação positiva de 100% dos alunos.

Gerar um Par de Chaves Pública e Privada

O primeiro passo é criar um par de chaves criptográficas. Este par consiste em uma chave privada, que você deve manter em segredo absoluto, e uma chave pública, que será colocada no servidor para autorizar o seu acesso.

Tarefas

  • Gerar um novo par de chaves RSA (pública e privada) usando o comando ssh-keygen.

Requisitos

  • Mude para a conta testuser antes de gerar o par de chaves.
  • Gere o par de chaves como o usuário testuser.
  • Use o local de arquivo padrão quando solicitado (/home/testuser/.ssh/id_rsa).
  • Não defina uma senha (passphrase) para a chave privada (pressione Enter quando solicitado pela senha).

Começando

Primeiro, mude para a conta do usuário de teste:

su - testuser
## Password: testuser123

Exemplo

Após gerar o par de chaves, você pode listar os arquivos no diretório ~/.ssh para visualizar suas novas chaves.

$ ls -l ~/.ssh
total 8
-rw------- 1 testuser testuser 3401 Aug 19 03:49 id_rsa
-rw-r--r-- 1 testuser testuser  759 Aug 19 03:49 id_rsa.pub

O arquivo id_rsa é a sua chave privada, e o id_rsa.pub é a sua chave pública.

✨ Verificar Solução e Praticar

Autorizar a Chave Pública e Configurar o Servidor SSH

Agora que você possui um par de chaves, deve configurar o servidor. Isso envolve duas ações principais: adicionar sua chave pública à lista de chaves autorizadas e garantir que o serviço SSH esteja configurado para aceitar a autenticação baseada em chaves.

Pré-requisitos

Certifique-se de que ainda está logado com a conta testuser. Caso contrário, mude para ela:

su - testuser
## Password: testuser123

Tarefas

  • Copiar sua chave pública para o arquivo ~/.ssh/authorized_keys.
  • Definir as permissões de arquivo corretas para ~/.ssh/authorized_keys.
  • Modificar o arquivo de configuração do servidor SSH (/etc/ssh/sshd_config) para habilitar a autenticação por chave pública.
  • Recarregar o serviço SSH para aplicar as alterações de configuração.

Requisitos

  • O arquivo ~/.ssh/authorized_keys deve ser criado e conter o conteúdo da sua chave pública (~/.ssh/id_rsa.pub).
  • As permissões para ~/.ssh/authorized_keys devem ser 600.
  • No arquivo /etc/ssh/sshd_config, a diretiva PubkeyAuthentication deve estar descomentada e definida como yes.
  • A configuração do serviço SSH deve ser recarregada usando sudo pkill -HUP sshd.

Dicas

  • Você pode usar o comando cat com redirecionamento de saída (>>) para adicionar a chave ao arquivo authorized_keys.
  • Use o comando chmod para definir as permissões do arquivo.
  • O testuser possui privilégios de sudo para editar o /etc/ssh/sshd_config e para recarregar o serviço sshd.
  • Como o systemctl não está disponível neste ambiente de contêiner, use o pkill para enviar um sinal HUP ao processo sshd, o que forçará a releitura de sua configuração.

Exemplo

Após concluir estas etapas, você deverá ser capaz de logar no localhost usando sua chave SSH sem que uma senha seja solicitada.

$ ssh testuser@localhost "echo Login successful"
Login successful
✨ Verificar Solução e Praticar

Resumo

Neste desafio, você aprendeu como reforçar a segurança do SSH configurando a autenticação baseada em chaves. Você gerou um par de chaves pública e privada, autorizou a chave pública no servidor adicionando-a ao arquivo authorized_keys e modificou a configuração do servidor SSH para habilitar este método de autenticação seguro. Ao concluir este desafio, você adquiriu uma habilidade fundamental para o gerenciamento seguro de sistemas remotos.