Autenticação SSH por Chaves
Gere pares de chaves SSH, distribua chaves públicas aos servidores e desative a autenticação por senha para aumentar a segurança.
Autenticação SSH por Chaves é uma aula grátis de Linux Server Deployment & SSH Mastery no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Linux Server Deployment & SSH Mastery, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.
Desbloqueie o SSH com pares de chaves
Boas-vindas! Nesta lição, você aprenderá sobre a autenticação SSH baseada em chaves. Esse método é muito mais seguro e conveniente do que usar senhas tradicionais para fazer login no seu servidor.
As chaves SSH funcionam como um aperto de mãos digital, comprovando sua identidade sem exigir que você digite uma senha todas as vezes.
A mágica das chaves públicas e privadas
A autenticação por chaves SSH depende de um par de chaves criptográficas:
- Chave privada: essa chave permanece na sua máquina local e deve ser mantida em segredo. Pense nela como a chave exclusiva da sua fechadura digital.
- Chave pública: essa chave é colocada no servidor que você deseja acessar. É como uma fechadura especial que só pode ser aberta pela sua chave privada.
Quando você tenta se conectar, o servidor desafia seu cliente, que então usa sua chave privada para comprovar sua identidade.
Gerando suas chaves SSH
Você pode gerar seu próprio par de chaves SSH usando o comando ssh-keygen na sua máquina local. Por padrão, ele cria um par de chaves RSA.
Quando solicitado, você pode escolher uma frase secreta para proteger sua chave privada. Isso adiciona uma camada extra de segurança, exigindo que você informe a frase secreta antes de usar a chave.
ssh-keygenPersonalizando a geração de chaves
Para obter mais segurança, é recomendável usar tipos de chave mais recentes, como ED25519. Você também pode especificar um nome de arquivo personalizado para suas chaves.
-t ed25519: especifica o algoritmo ED25519.-f ~/.ssh/my_server_key: cria arquivos chamadosmy_server_keyemy_server_key.pub.
Sempre use uma frase secreta forte para sua chave privada!
ssh-keygen -t ed25519 -f ~/.ssh/my_server_keyEntendendo os arquivos de chaves
Após a geração, suas chaves normalmente ficam armazenadas no diretório ~/.ssh/ da sua máquina local. Você encontrará dois arquivos:
id_ed25519(ouid_rsa): essa é sua chave privada. Mantenha-a totalmente protegida e nunca a compartilhe.id_ed25519.pub(ouid_rsa.pub): essa é sua chave pública. Esse é o arquivo que você copiará para o servidor.
As permissões desses arquivos também são muito importantes para a segurança!
Implantando sua chave pública com facilidade
A maneira mais fácil de colocar sua chave pública em um servidor é usar o comando ssh-copy-id. Ele copia sua chave pública com segurança para o arquivo ~/.ssh/authorized_keys do servidor.
Você precisará usar sua senha na primeira vez que executar esse comando para um servidor novo. Depois disso, o login com senha geralmente não será mais necessário.
ssh-copy-id user@your_server_ipImplantação manual da chave pública
Se o comando ssh-copy-id não estiver disponível ou se você preferir um método manual, poderá copiar sua chave pública para o servidor por conta própria.
Primeiro, verifique se o diretório ~/.ssh existe e tem as permissões corretas (700) no servidor. Em seguida, acrescente sua chave pública ao arquivo ~/.ssh/authorized_keys (permissões 600).
cat ~/.ssh/id_ed25519.pub | ssh user@your_server_ip \
"mkdir -p ~/.ssh && chmod 700 ~/.ssh && \
cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"Conectando-se com suas novas chaves
Depois que sua chave pública estiver no servidor, você poderá se conectar usando SSH. Se tiver usado o nome de chave padrão (por exemplo, id_rsa ou id_ed25519), o SSH a encontrará automaticamente.
Se tiver usado um nome de chave personalizado (por exemplo, my_server_key), será necessário especificá-lo usando a opção -i.
ssh -i ~/.ssh/my_server_key user@your_server_ipDesativando o login com senha por segurança
Para aumentar a segurança, é altamente recomendável desativar a autenticação por senha no servidor assim que o login baseado em chaves estiver funcionando.
Edite o arquivo de configuração do daemon SSH (/etc/ssh/sshd_config) no servidor, altere PasswordAuthentication yes para no e reinicie o serviço SSH (por exemplo, sudo systemctl restart sshd ou sudo service ssh restart).
# On the server, edit /etc/ssh/sshd_config
PasswordAuthentication no
# Then restart SSH service
sudo systemctl restart sshdVerificação da autenticação por chaves
Você aprendeu como funciona a autenticação SSH baseada em chaves, como gerar chaves e como implantá-las. Vamos testar seus conhecimentos!
Recapitulação: proteja o SSH com chaves
Excelente trabalho! Você dominou a autenticação SSH baseada em chaves. Você aprendeu:
- A diferença entre chaves públicas e privadas.
- Como gerar pares de chaves usando
ssh-keygen. - Como implantar sua chave pública em um servidor com
ssh-copy-idou manualmente. - Como se conectar com segurança sem senhas.
- Por que e como desativar a autenticação por senha no servidor.
As chaves SSH são uma ferramenta fundamental para o gerenciamento seguro e eficiente de servidores. Continue praticando!
Perguntas Frequentes
A aula “Autenticação SSH por Chaves” é grátis?
Sim — o texto completo de “Autenticação SSH por Chaves” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Linux Server Deployment & SSH Mastery, atualize para CoddyKit PRO. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.
O que vou aprender em “Autenticação SSH por Chaves”?
Gere pares de chaves SSH, distribua chaves públicas aos servidores e desative a autenticação por senha para aumentar a segurança. Você pratica Linux Server Deployment & SSH Mastery com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Linux Server Deployment & SSH Mastery?
Nenhuma experiência prévia é necessária. Linux Server Deployment & SSH Mastery no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Autenticação SSH por Chaves”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Linux Server Deployment & SSH Mastery?
Sim. Cada aula de Linux Server Deployment & SSH Mastery inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Compreendendo o Protocolo SSH
- Configurando seu Cliente SSH
- Autenticação SSH por Chaves
- Protegendo o Servidor SSH