Ilustração mostra dois terminais se comunicando através de um servidor
Freepik

Se você é um usuário do sistema operacional Linux, já deve ter ouvido falar sobre o uso de chaves SSH para garantir a segurança na conexão com servidores remotos. O processo de gerar uma chave SSH pode parecer complicado, mas na verdade é bem simples. Neste tutorial, vou mostrar passo a passo como gerar uma chave SSH com um comando no Linux.

O que é uma chave SSH?

Antes de entrarmos no processo de geração da chave SSH, é importante entendermos o que ela é e para que serve. A chave SSH é uma ferramenta de autenticação que permite uma conexão segura entre dois computadores. Ela é composta por duas partes: a chave pública e a chave privada. A chave pública é compartilhada com o servidor remoto, enquanto a chave privada é mantida em segredo no computador do usuário.

Quando o usuário se conecta ao servidor remoto, o servidor verifica a autenticidade da chave pública enviada pelo usuário. Se a chave pública for válida, o servidor permite a conexão e pede que o usuário forneça a chave privada correspondente. A partir daí, a conexão é estabelecida de forma segura, sem a necessidade de senhas.

Como gerar uma chave SSH no terminal do Linux

Agora que entendemos o que é uma chave SSH, vamos ao processo de geração.

  1. Abra o terminal do Linux. O terminal pode ser acessado através do menu de aplicativos, do atalho na barra de tarefas ou da tecla de atalho “Ctrl + Alt + T”, dependendo da distribuição Linux que você usa.
  2. Digite o comando ssh-keygen no terminal e pressione Enter. Isso iniciará o processo de geração da chave SSH.
  3. O terminal perguntará onde você deseja salvar a chave. Por padrão, a chave é salva em ~/.ssh/id_rsa. Se você deseja salvar em um local diferente, digite o caminho completo para o novo local e pressione Enter.
  4. O terminal pedirá que você defina uma senha para a chave SSH. A senha é opcional, mas recomendada para garantir que ninguém possa usar sua chave sem sua permissão. Digite uma senha forte e pressione Enter. Em seguida, digite a mesma senha novamente para confirmá-la e pressione Enter novamente.
  5. O terminal gerará a chave SSH e exibirá uma mensagem de confirmação. A chave pública estará localizada em ~/.ssh/id_rsa.pub e a chave privada em ~/.ssh/id_rsa.
  6. Para usar a chave SSH, copie a chave pública e adicione-a à sua conta do servidor SSH. Isso geralmente envolve copiar o conteúdo do arquivo id_rsa.pub para o arquivo authorized_keys no servidor. Você pode fazer isso manualmente ou usar ferramentas como ssh-copy-id.
  7. Quando estiver pronto para se conectar ao servidor usando sua chave SSH, use o comando ssh user@hostname no terminal. Substitua “user” pelo nome do usuário que você está usando no servidor e “hostname” pelo endereço IP ou nome de domínio do servidor.
  8. O terminal pedirá a senha da chave SSH que você definiu anteriormente. Digite a senha e pressione Enter. Se tudo estiver configurado corretamente, você será conectado ao servidor usando sua chave SSH.

Por que usar uma chave SSH?

Usar uma chave SSH tem várias vantagens em relação ao uso de senhas para autenticação. Em primeiro lugar, é mais seguro, já que as chaves são mais difíceis de serem quebradas do que senhas. Além disso, você não precisa se preocupar em lembrar senhas diferentes para cada servidor que você usa. Com a chave SSH, você só precisa lembrar da senha da chave, que é usada para autenticar todas as suas conexões SSH.

Outra vantagem é a conveniência. Depois de configurada, a chave SSH permite que você se conecte a servidores remotos com um simples comando no terminal, sem a necessidade de digitar senhas toda vez. Isso pode economizar tempo e tornar seu trabalho mais eficiente.

Por fim, a chave SSH permite que você compartilhe sua chave pública com outras pessoas ou serviços, sem precisar compartilhar sua senha. Isso é útil em ambientes de trabalho colaborativos ou em serviços que exigem autenticação, como o GitHub.