1
resposta

Como funciona a conexão SSH com as chaves.

Tive muito problemas relacionados a isso, gostaria de entender como funciona isso, para que serve a chave privada a publica, o arquivo known_hosts, o arquivo private_key, authorized_keys, todos eles, para entender melhor

1 resposta

Olá, Juan. Tudo bem?

O SSH usa para autenticação do nosso cliente no servidor um método chamado de Criptografia Assimétrica. Geramos 2 segredos, um que consegue criptografar um conteúdo (chave pública) e outro que serve para descriptografar (chave privada). A chave pública é gerada a partir da privada, mas quem tem a pública não consegue chegar na privada.

Quando fazemos autenticação com SSH usando chaves, precisamos antes copiar nossa chave pública para o diretório authorized_keys, certo? Isso para que o servidor saiba quem pode se comunicar com ele. Quando iniciamos a conexão, enviamos nossa chave pública para que ele saiba quem está tentando se conectar. Se a chave não estiver em authorized_keys, o processo é interrompido já aí. Quando tentamos nos autenticar, ele nos envia uma mensagem criptografada com base nessa chave pública para que a gente prove a ele que somos quem estamos dizendo ser, pois somente quem criou essa chave deveria ter a chave privada. Por isso que é um método seguro de autenticação. Quando a mensagem chega para nós, usamos nossa chave privada para descriptografar a mensagem e retornamos para o servidor uma resposta que ele vai checar se está correta. É como se fosse uma charada que o servidor faz para nós.

Espero ter ajudado. Se tiver outra dúvida, é só dizer!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software