Criação de chaves SSH

Uma das ferramentas mais eficazes para garantir a segurança ao acessar servidores remotamente é o uso de chaves SSH (Secure Shell). As chaves SSH permitem uma autenticação robusta, eliminando a necessidade de senhas tradicionais e proporcionando uma camada adicional de proteção.

Introdução

Para entender como as chaves SSH funcionam, é essencial conhecer os conceitos de chave pública e chave privada. Essas chaves fazem parte da criptografia assimétrica, um método de criptografia que utiliza dois pares de chaves diferentes, mas matematicamente relacionadas: a chave pública e a chave privada.

Chave Pública

A chave pública é uma parte do par de chaves que você pode compartilhar livremente com qualquer pessoa ou entidade que precisa verificar sua identidade ou criptografar informações para você. É chamada de "pública" porque não há problema em torná-la disponível publicamente.

Chave Privada

A chave privada é a outra parte do par de chaves, que deve ser mantida em segredo e nunca compartilhada com ninguém. É chamada de "privada" porque apenas o proprietário deve ter acesso a ela.

O arquivo com a extensão ".pem" (Privacy Enhanced Mail) geralmente contém a chave privada no contexto de autenticação SSH. Esse formato de arquivo é usado para armazenar e transmitir chaves criptográficas, certificados e outros dados relacionados à segurança.

Funcionamento

Aqui está um exemplo de como essas chaves funcionam juntas em um contexto de SSH:

  1. Geração do Par de Chaves: Você gera um par de chaves, consistindo de uma chave pública e uma chave privada.
  2. Distribuição da Chave Pública: Você coloca a chave pública no servidor ao qual deseja se conectar.
  3. Conexão SSH: Quando você tenta se conectar ao servidor, o servidor usa a chave pública para criar um desafio criptográfico que só pode ser resolvido com a chave privada.
  4. Autenticação: Você usa sua chave privada para resolver o desafio, provando ao servidor que você possui a chave privada correspondente à chave pública armazenada no servidor.

Neste tutorial, vamos guiá-lo passo a passo pelo processo de criação de chaves SSH.

Pré-requisitos

  • Privilégios de root na instância
  • Porta 22 (SSH) liberada no firewall da instância

Passos

1. Criar o usuário que irá acessar o server

sudo adduser <usuario>

2. Adicionar o usuário ao grupo de administradores

sudo usermod -aG sudo <usuario>

3. Criar o par de chaves de acesso ssh. Responder ENTER para a senha e para a confirmação. Deixe o certificado sem senha.

sudo mkdir /home/<usuario>/.ssh sudo ssh-keygen -t rsa -f /home/<usuario>/.ssh/<usuario> -C <usuario> -b 2048

4. Criar arquivo de chaves autorizadas. Você pode optar por não incluir uma senha, basta deixar a senha em branco.

cat /home/<usuario>/.ssh/<usuario>.pub > /home/<usuario>/.ssh/authorized_keys

5. Setar permissões

sudo mv /home/<usuario>/.ssh/<usuario> /home/<usuario>/.ssh/<usuario>.pem chmod 700 /home/<usuario>/.ssh && chmod 600 /home/<usuario>/.ssh/authorized_keys chmod 600 /home/<usuario>/.ssh/<usuario>.pem chmod 644 /home/<usuario>/.ssh/<usuario>.pub

6. Copiar o arquivo da chave de acesso "/home/<usuario>/.ssh/<usuario>.pem" para o usuário.



Gostou do post? Não deixe de compartilhar este artigo com seus amigos e colegas! Não se esqueça de se inscrever na nossa lista para receber as últimas novidades diretamente no seu e-mail. Junte-se a nós e fique por dentro de tudo sobre Inteligência Artificial e tecnologia!