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:
- Geração do Par de Chaves: Você gera um par de chaves, consistindo de uma chave pública e uma chave privada.
- Distribuição da Chave Pública: Você coloca a chave pública no servidor ao qual deseja se conectar.
- 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.
- 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!