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.