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.
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
testuserantes 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.
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_keysdeve ser criado e conter o conteúdo da sua chave pública (~/.ssh/id_rsa.pub). - As permissões para
~/.ssh/authorized_keysdevem ser600. - No arquivo
/etc/ssh/sshd_config, a diretivaPubkeyAuthenticationdeve estar descomentada e definida comoyes. - A configuração do serviço SSH deve ser recarregada usando
sudo pkill -HUP sshd.
Dicas
- Você pode usar o comando
catcom redirecionamento de saída (>>) para adicionar a chave ao arquivoauthorized_keys. - Use o comando
chmodpara definir as permissões do arquivo. - O
testuserpossui privilégios desudopara editar o/etc/ssh/sshd_confige para recarregar o serviçosshd. - Como o
systemctlnão está disponível neste ambiente de contêiner, use opkillpara enviar um sinalHUPao processosshd, 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
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.



