O Que o SSH Realmente Faz
Embora a Splync use HTTPS para proteger o caminho entre seu smartphone e nosso servidor, ainda precisamos proteger o servidor em si para garantir a segurança dos dados dos usuários. Desenvolvedores de aplicativos e administradores de sistemas precisam de uma maneira de acessar esse servidor para manter e implantar atualizações — de forma segura. É aí que entra o SSH (Secure Shell). É um protocolo que permite que usuários autorizados façam login em computadores remotos de forma segura, mesmo em redes não confiáveis. O SSH substitui métodos mais antigos e inseguros como o Telnet, que enviava nomes de usuário e senhas em texto simples.
A Ideia por Trás das “Chaves”
O SSH não depende de uma senha típica. Em vez disso, ele usa chaves criptográficas — um par correspondente de uma chave pública e uma chave privada. Pense nelas como uma fechadura e uma chave que só se encaixam entre si. A chave pública fica no servidor, e a chave privada permanece com o usuário. Quando você se conecta, o servidor desafia você a provar que possui a chave privada, sem nunca revelá-la. Isso torna quase impossível que alguém ouvindo finja ser você. Enquanto senhas convencionais podem ser adivinhadas, vazadas ou reutilizadas, as chaves SSH são sequências criptográficas longas e aleatórias — praticamente impossíveis de adivinhar. Mesmo que alguém consiga interceptar a conexão, tudo o que eles verão será um ruído criptografado. E como as chaves SSH nunca são enviadas pela rede, não há nada para roubar em trânsito.
Como Realmente é uma Chave SSH
Se você nunca viu uma chave SSH antes, pode parecer abstrato — mas é apenas um longo bloco de texto codificado. Uma chave pública normalmente tem algumas centenas de caracteres, enquanto uma chave privada pode ter bem mais de mil. Ambas são armazenadas como arquivos de texto, mas seu conteúdo parece um ruído aleatório — uma mistura de letras, números e símbolos. A chave pública é segura para compartilhar; é como colocar sua fechadura no servidor. A chave privada, por outro lado, é sua identidade digital única e nunca deve ser compartilhada. Ela é armazenada localmente no seu computador e usada apenas para provar que você é quem diz ser — sem nunca revelar a própria chave.
Chave Pública e Chave Privada
Uma chave pública é como uma fechadura que você coloca na sua casa. Qualquer um pode vê-la da rua, assim como a fechadura na sua porta da frente. Mas olhar para a fechadura não diz a ninguém como abri-la. Em outras palavras, qualquer um pode vê-la, mas apenas a chave certa pode destrancá-la. Por outro lado, a chave privada é a chave que abre a fechadura — e ela permanece em segurança com você. Se alguém conseguir sua chave privada, poderá entrar na sua casa como se fosse você. É por isso que ela deve ser sempre mantida em segredo.
Mecanismo SSH
Cada chave pública e chave privada formam um par único de um para um. Elas são geradas juntas por um processo matemático, de modo que apenas aquela chave privada específica pode corresponder à chave pública correspondente. Você pode pensar nelas como uma fechadura e chave feitas sob medida — forjadas juntas, e nenhuma outra chave do mundo se encaixa nessa fechadura. Mesmo se você gerar outro par usando o mesmo algoritmo (como RSA ou Ed25519), os números dentro serão completamente diferentes. A matemática que liga as duas é unilateral: você pode facilmente derivar a chave pública da chave privada, mas é praticamente impossível reverter o processo e encontrar a chave privada a partir da pública. É por isso que cada par de chaves SSH é único e seguro.
Como o SSH Prova Quem Você É
Quando você faz login em um servidor com SSH, sua chave privada nunca sai do seu computador. Em vez disso, o servidor envia um desafio aleatório — como um quebra-cabeça único — que apenas sua chave privada pode resolver. Seu computador assina esse desafio matematicamente, produzindo uma resposta curta que o servidor pode verificar usando sua chave pública. Se a resposta for correta, o servidor sabe que você possui a chave privada correta — sem nunca vê-la. Esta é a magia da criptografia moderna: você pode provar sua identidade sem revelar seu segredo. A autenticação SSH funciona porque sua chave privada contém todas as informações para derivar a chave pública, mas o inverso é praticamente impossível.
Como os Desenvolvedores Usam SSH na Prática
Sempre que os desenvolvedores implantam código, atualizam um banco de dados ou reiniciam um serviço, eles frequentemente se conectam aos seus servidores remotos via SSH. Após a autenticação, eles obtêm uma conexão de linha de comando segura com o servidor. A partir daí, eles podem gerenciar arquivos, reiniciar serviços ou inspecionar logs — tudo criptografado de ponta a ponta. No caso da Splync, o SSH é como gerenciamos com segurança nosso servidor em nuvem. Toda ação administrativa — implantação de atualizações, verificação de logs, backup de dados — é feita através de conexões SSH protegidas por chaves criptográficas. Ninguém pode acessar o servidor sem a chave privada correta. Mesmo que alguém conheça nosso endereço IP, sem essa chave, a porta simplesmente não abrirá.
A Seguir: Criptografia Dentro do Servidor
O SSH protege a entrada do servidor, e o HTTPS protege os dados em trânsito. Mas uma vez que os dados chegam ao banco de dados, como os mantemos seguros? É aí que entram o hashing e a criptografia — a camada final de defesa.