as chaves ssh são usadas para estabelecer uma conexão segura entre o computador e um servidor remoto, sem a necessidade de digitar senhas toda vez. em vez de autenticação por senha, o sistema usa um par de chaves criptográficas: uma chave pública, que é adicionada ao servidor; e uma chave privada, que permanece protegida no computador. as vantagens são:

  • segurança, já que evita o uso de senhas vulneráveis;
  • praticidade, permitindo acesso automático e seguro ao servidor;
  • proteção contra ataques de força bruta, pois a autenticação depende da chave privada.

criação de pares de chaves

  1. na máquina local, abrir o powershell com privilégio de administrador e navegar até a pasta C:\users\[user]\.ssh
  2. gerar o par de chaves:
    ssh-keygen -t ed25519 -a 1000
  • ssh keygen: utilitário que cria as chaves ssh
  • -t ed25519: define o tipo de algoritmo usado para criar a chave. ed25519 é um algoritmo moderno e seguro
  • -a 100: determina o número de rounds de derivação de chave com o algoritmo bcrypt. isso aumenta a segurança, sendo 100 um número razoável que não compromete a performance.
  1. o comando irá criar dois arquivos:
    • id_ed25519 → chave privada (NUNCA compartilhar)
    • id_ed25519.pub → chave pública (pode ser adicionada ao servidor)

adicionar a chave ao servidor

  1. na máquina local, copiar a chave pública para o servidor remoto:
    ssh-copy-id -i ~/.ssh/id_ed25519.pub [user]@[server]
  2. caso o ssh-copy-id não esteja disponível no windows, copiar manualmente o conteúdo do arquivo id_ed25519.pub e adicionar ao arquivo ~/.ssh/authorized_keys no servidor.
  3. testar a conexão. se tudo tiver funcionado, o acesso será feito sem solicitar a senha.
    ssh [user]@[server]