Segurança SSH no Linux: Gere e Transfira Chaves em 3 Passos!

Principais pontos

  • As chaves SSH representam um método seguro de acesso a servidores remotos, eliminando a necessidade de senhas tradicionais. Este sistema se baseia em um par de chaves: uma pública e outra privada.
  • No ambiente Linux, o comando `ssh-keygen` é utilizado para gerar este par de chaves. Recomenda-se adicionar uma senha para aumentar a segurança.
  • Para habilitar o acesso remoto, a chave pública deve ser copiada para o servidor. Isso pode ser feito através do comando `ssh-copy-id` ou manualmente, inserindo a chave no arquivo `authorized_keys`.

A utilização de chaves SSH permite proteger o acesso a servidores remotos, proporcionando ao mesmo tempo a comodidade de login sem senha, especialmente em sistemas Linux.

O que são chaves SSH?

As chaves SSH são mecanismos criptográficos que facilitam o acesso a sistemas remotos. Elas são geradas em pares, com uma chave pública e uma privada. A chave pública pode ser distribuída em servidores remotos, que a utilizarão para verificar a identidade do usuário. Por outro lado, a chave privada deve ser mantida em segurança no dispositivo local do usuário, sem ser compartilhada com terceiros.

A segurança da chave privada é fundamental; nunca a compartilhe com outras pessoas!

Durante o processo de login, o servidor remoto usa o SSH para comparar a chave pública armazenada com a chave privada apresentada pelo usuário. Se houver correspondência, o acesso ao sistema remoto é concedido. Esse sistema de chaves oferece uma forma eficiente e segura de gerenciar contas.

Como criar chaves SSH

A geração de um par de chaves SSH é simplificada através do comando `ssh-keygen`, executado no terminal do Linux. O sistema solicitará um local para salvar as chaves e, opcionalmente, uma senha para proteção adicional. A senha, se utilizada, adiciona uma camada extra de segurança à sua chave.

Se optar por usar uma senha, lembre-se dela, pois o acesso será impossível sem ela.

Para login sem senha, deixe o campo da senha em branco ao gerar as chaves.

Por padrão, o `ssh-keygen` utiliza o algoritmo Ed25519, considerado seguro para a maioria dos casos. Caso seja necessário utilizar um algoritmo diferente, o parâmetro `-t` pode ser usado. Consulte a página de manual do ssh-keygen para explorar opções alternativas.

Como transferir a chave SSH para o servidor

Após gerar o par de chaves, o próximo passo é transferir a chave pública para o servidor remoto. Existem duas abordagens principais para isso:

A forma mais direta é utilizar o comando `ssh-copy-id`, que requer o nome de usuário e o endereço do servidor remoto:

 ssh-copy-id [email protected]

Ao inserir a senha, a chave pública será transferida automaticamente.

Após essa etapa, o acesso ao servidor via SSH sem senha deverá ser possível:

 ssh [email protected] 

Em caso de falha na transferência automática, a chave pública pode ser adicionada manualmente. Localize o arquivo com extensão `.pub` no diretório `.ssh` do seu usuário local, copie seu conteúdo e insira no arquivo `.ssh/authorized_keys` do servidor remoto.

Após salvar o arquivo, o acesso via SSH estará habilitado. Certifique-se de que apenas o proprietário tenha permissão de escrita no arquivo `authorized_keys` para evitar erros.