O que é SSH? Entenda o protocolo e suas técnicas de criptografia
Oct 29, 2025
/
Bruno S.
/
9 min de leitura
O SSH, ou Secure Shell, é um protocolo criptografado usado para acessar e gerenciar sistemas remotos pela internet, como um servidor. Ele funciona de forma parecida com o Telnet, mas adiciona uma camada de segurança que autentica o host e protege a transferência de dados.
Na prática, o SSH permite que o computador local acesse um usuário específico em outro sistema remoto. Essa conexão pode ser feita diretamente pelo terminal com o comando ssh ou usando programas como o PuTTY.
O protocolo usa três tipos de criptografia: simétrica, assimétrica e hashing. Cada uma protege os dados trocados entre o computador local e o remoto de maneira diferente.
Com base nesses métodos, o SSH cria a conexão no modelo cliente-servidor, em que ambos concordam em usar um par de chaves correspondente para criptografar a comunicação.
O SSH também pode autenticar o usuário de duas formas: com nome de usuário e senha ou com chaves SSH. Em ambos os casos, as informações são transmitidas por um túnel criptografado, o que impede que terceiros interceptem os dados.
Nos próximos tópicos, você vai entender como o SSH funciona, para que serve, como a porta SSH é usada na conexão e quais são as principais técnicas de criptografia envolvidas.
O que é SSH?
O SSH, também conhecido como Secure Shell, é um protocolo de administração remota que permite acessar, controlar e modificar servidores pela internet.
Ele foi criado como uma alternativa segura ao Telnet, que não possui criptografia. O SSH usa técnicas criptográficas para garantir que toda a comunicação entre o cliente e o servidor remoto aconteça de forma protegida. Assim, é possível autenticar o usuário, enviar comandos e receber as respostas do servidor por meio de um canal totalmente criptografado.
O exemplo abaixo mostra um terminal típico com uma conexão SSH ativa. Usuários de Linux e macOS podem acessar o servidor remoto diretamente pelo terminal, enquanto quem usa Windows pode recorrer a aplicativos como o PuTTY. Depois de conectar pela porta SSH, você pode executar comandos como se estivesse operando o computador remoto pessoalmente.

Como o SSH funciona?
Se você estiver usando Linux ou Mac, então usar SSH é muito simples. Se você usar o Windows, você precisará utilizar um clienteSSH para abrir conexões desse tipo. O cliente SSH mais popular é o PuTTY.
Para usuários de Mac e Linux, abra o seu programa de terminal e siga o procedimento abaixo.
O comando SSH consiste em 3 partes distintas:
ssh {usuario}@{host}O comando ssh informa ao sistema que você deseja abrir uma conexão segura e criptografada com outro computador por meio do protocolo Secure Shell.
No comando, {usuario} representa o nome da conta que você quer acessar — por exemplo, o root, que é o usuário administrador com permissão total para alterar qualquer parte do sistema. Já {host} indica o computador remoto que você quer acessar, podendo ser um endereço IP (como 244.235.23.19) ou um nome de domínio (como www.xyzdomain.com).
Ao pressionar Enter, o sistema solicitará a senha do usuário especificado. Enquanto você digita, nada aparece na tela, mas a senha está sendo transmitida de forma criptografada pela porta SSH. Depois de inserir a senha e pressionar Enter novamente, a conexão será estabelecida e você verá o terminal remoto.
Se você quiser saber mais sobre alguns comandos SSH, encontre-os aqui.
Por que usar SSH?
O SSH é usado para gerenciar sistemas remotos aos quais você não tem acesso físico — algo essencial para quem administra um site ou aplicativo hospedado em provedores como a Hostinger, onde a infraestrutura fica fora do seu ambiente local.
Embora a maioria dos provedores de hospedagem ofereça um painel de controle para gerenciar o servidor, ele costuma ser limitado a tarefas básicas. Para operações mais avançadas, é preciso interagir diretamente com o servidor, o que só é possível usando o terminal remoto por meio do SSH.
O SSH se destaca entre outros protocolos por causa da criptografia e da segurança que oferece. Isso é fundamental, já que o gerenciamento remoto de servidores envolve o envio de informações sensíveis, como chaves de API e tokens de autenticação.
Além do acesso remoto, o SSH também permite transferir arquivos com segurança por meio dos protocolos SFTP (Secure File Transfer Protocol) e SCP (Secure Copy Protocol). Outra função importante é o redirecionamento de porta, também conhecido como túnel SSH, que permite criar conexões seguras com serviços que normalmente não usam criptografia.
Quais são as técnicas de criptografia usadas no SSH?
A vantagem significativa oferecida pelo SSH sobre seu antecessor está no uso da criptografia para transmitir de forma segura, uma informação entre o cliente e o servidor de hospedagem. O host se refere ao servidor remoto que você está tentando acessar, enquanto o cliente é o computador que você está usando para acessar o servidor.
O SSH utiliza três tipos de tecnologias de criptografia para proteger essa comunicação:
- Criptografia simétrica
- Criptografia assimétrica
- Hashing
Criptografia simétrica
A criptografia simétrica é um método em que uma mesma chave secreta é usada tanto para criptografar quanto para descriptografar as mensagens trocadas entre o cliente e o servidor. Ou seja, quem tiver essa chave poderá ler os dados transmitidos.

Por isso, esse tipo de criptografia também é conhecido como chave compartilhada ou segredo compartilhado. Normalmente, há apenas uma chave usada por ambas as partes — ou, em alguns casos, um par de chaves em que uma pode ser facilmente calculada a partir da outra.
Durante uma sessão SSH, a chave simétrica é responsável por criptografar toda a comunicação entre cliente e servidor. Ambos geram essa chave com base em um método acordado, e o valor final nunca é revelado a terceiros.
A criação dessa chave é feita por meio de um algoritmo de troca de chaves, que torna o processo extremamente seguro. O segredo nunca é transmitido diretamente entre as máquinas — em vez disso, os dois computadores compartilham apenas dados públicos e os utilizam para calcular a chave de forma independente. Mesmo que alguém intercepte esses dados, não será capaz de descobrir a chave, já que o algoritmo usado não é divulgado.
É importante lembrar que essa chave secreta é exclusiva de cada sessão SSH e é gerada antes mesmo da autenticação do usuário. Depois disso, todos os pacotes trocados entre o cliente e o servidor são criptografados com ela — inclusive a senha digitada no terminal, garantindo que suas credenciais fiquem protegidas de interceptações na rede.
Existem vários tipos de cifras de criptografia simétrica, como AES (Advanced Encryption Standard), CAST128 e Blowfish. Antes de estabelecer uma conexão segura pela porta SSH, o cliente e o servidor negociam qual cifra será usada, com base nas opções que ambos suportam.
Por exemplo, se duas máquinas Ubuntu 14.04 LTS se conectarem via SSH, elas usarão aes128-ctr como cifra padrão para proteger a comunicação.
Criptografia assimétrica
Diferente da criptografia simétrica, a criptografia assimétrica utiliza duas chaves distintas para criptografar e descriptografar as mensagens: uma chave pública e uma chave privada. Juntas, elas formam o chamado par de chaves público-privado.

A chave pública pode ser usada por qualquer pessoa para criptografar uma mensagem, mas apenas o destinatário que possui a chave privada correspondente poderá descriptografá-la — e o contrário também é verdadeiro. Essas chaves são compostas por longas sequências de números e símbolos aparentemente aleatórios, mas estão matematicamente relacionadas por algoritmos complexos.
Por exemplo, para autenticar o remetente, uma mensagem pode ser criptografada com a chave privada dele. Assim, apenas a chave pública correspondente poderá descriptografá-la, comprovando que a mensagem veio da fonte correta. Todo esse processo acontece de forma automática — não é necessário fazer nada manualmente.
Apesar do que muitos imaginam, a criptografia assimétrica não é usada para criptografar toda a sessão SSH. Ela atua apenas durante o algoritmo de troca de chaves da criptografia simétrica. Antes de iniciar a conexão segura pela porta SSH, o cliente e o servidor geram pares de chaves temporários (pública e privada) e os utilizam para criar, de forma segura, a chave secreta compartilhada que será usada na comunicação simétrica.
Depois que essa comunicação segura é estabelecida, o servidor usa a chave pública do cliente para gerar um desafio e enviá-lo de volta. Se o cliente conseguir descriptografar a mensagem corretamente, isso confirma que ele possui a chave privada necessária — e a sessão SSH é iniciada.
Hashing
O hashing unidirecional é outra forma de criptografia usada nas conexões SSH. Diferente das técnicas anteriores, ele não é feito para ser descriptografado. Em vez disso, o algoritmo gera um valor único e de tamanho fixo para cada entrada, sem seguir um padrão previsível. Isso torna o processo praticamente impossível de ser revertido.
Gerar um hash criptográfico a partir de uma entrada é simples — mas o contrário, descobrir a entrada original a partir do hash, é impossível. Isso significa que, se o cliente possuir a entrada correta, ele pode gerar o hash correspondente e comparar os valores para verificar se está de fato usando os dados certos.

O SSH utiliza hashes para verificar a autenticidade das mensagens, por meio dos chamados HMACs (Hash-based Message Authentication Codes). Esse método garante que os comandos transmitidos entre cliente e servidor não sejam alterados durante a comunicação pela porta SSH.
Durante o processo de configuração da criptografia simétrica, também é escolhido um algoritmo de autenticação de mensagens. A seleção segue a mesma lógica da escolha da cifra de criptografia, como explicado anteriormente.
Cada mensagem transmitida precisa conter um MAC, que é calculado usando a chave simétrica, o número de sequência do pacote e o conteúdo da mensagem. Esse valor é enviado fora dos dados criptografados, como a parte final do pacote de comunicação, reforçando a segurança da sessão SSH.
Como o SSH usa técnicas de criptografia para proteger conexões?
Para garantir uma conexão segura, o SSH usa o modelo cliente-servidor, que autentica os dois sistemas remotos e aplica diferentes técnicas de criptografia para proteger os dados trocados entre eles.
Por padrão, o SSH opera na porta TCP 22, embora essa porta SSH possa ser alterada se necessário. O servidor fica escutando nessa porta (ou em outra configurada para o SSH), aguardando conexões de entrada. Quando um cliente tenta se conectar, o servidor autentica o usuário e, caso a verificação seja bem-sucedida, abre o ambiente de terminal correspondente.

O cliente inicia a conexão SSH com um handshake TCP — um tipo de saudação digital — para estabelecer uma comunicação segura. Durante esse processo, o cliente verifica se a identidade do servidor corresponde aos registros anteriores (armazenados, por exemplo, em um arquivo de chave RSA) e envia suas credenciais para autenticação.
Nesse caso, há dois estágios para se estabelecer uma conexão. Primeiro, ambos os sistemas precisam concordar com uma criptografia padrão para proteger as comunicações futuras, e segundo, o usuário precisa autenticar as duas. Se as credenciais se igualarem, então o usuário terá acesso garantido.
Ao tentar se conectar, o servidor apresenta os protocolos e versões de criptografia que suporta. Se o cliente tiver suporte aos mesmos, ambos entram em acordo e iniciam a comunicação com o protocolo aceito. Nesse momento, o servidor também envia sua chave pública assimétrica, usada pelo cliente para verificar a autenticidade do host.
Depois disso, cliente e servidor executam o algoritmo de troca de chaves Diffie-Hellman, que permite gerar uma chave simétrica compartilhada. Essa chave é usada para criptografar toda a sessão SSH.
De forma simplificada, o processo funciona assim:
- Tanto o cliente como o servidor concordam na utilização de um número primário extenso, do jeito que não haja nenhum fator em comum. Esse primeiro valor de número é também conhecido como seed value, ou valor inicial.
- Em seguida, as duas partes concordam em um mecanismo de codificação comum para gerar mais um padrão de valores que manipulam os valores iniciais e os algoritmos na raiz. Estes mecanismos são também conhecidos como AES (Padrão de Criptografia Avançada).
- Ambas as partes geram de forma independente um número primário. Isso é usado na interação de chaves privadas secretas.
- Esta nova chave privada é gerada com um número compartilhado e a criptografia de um algoritmo (e.g. AES), é usada para computar uma chave pública distribuída a outro computador.
- As partes então usam uma chave privada personificada, a chave pública compartilhada da outra máquina e o número original para criar uma chave compartilhada final. Esta chave é calculada de forma independente por ambos os computadores, mas criará a mesma chave de criptografia em ambos os lados.
- Agora que ambos os lados tem uma chave compartilhada, é possível criar uma criptografia simétrica para todas a sessão de SSH. A mesma chave pode ser usada para criptografar e descriptografar mensagens (leia: criptografia simétrica na seção).
Agora que a criptografia de segurança simétrica foi realizada, o usuário precisa ser autenticado.
Como o SSH autentica usuários e garante o acesso seguro?
A última etapa antes de conceder acesso por meio do protocolo SSH é a autenticação do usuário. Na maioria dos casos, isso é feito com um nome de usuário e senha. O usuário informa as credenciais, que são transmitidas por um túnel criptografado, impedindo que terceiros as interceptem durante a conexão pela porta SSH.
Embora as senhas sejam criptografadas, não é o método mais seguro. Isso porque bots automatizados podem usar ataques de força bruta para adivinhar senhas fracas ou padrões comuns e, assim, obter acesso indevido ao servidor. Por esse motivo, a prática mais recomendada é utilizar pares de chaves SSH (SSH Key Pairs).
Essas chaves funcionam em pares — uma pública e uma privada — e permitem autenticar o usuário sem precisar digitar senha. Elas podem ser geradas diretamente pelo terminal do sistema ou com ferramentas como o PuTTY, e depois adicionadas tanto ao cliente quanto ao servidor.
Depois de configuradas, é possível ativar o login sem senha (passwordless SSH), em que o par de chaves substitui completamente a autenticação por senha, oferecendo uma conexão mais prática e segura.

Principais pontos
O protocolo SSH permite gerenciar seus servidores remotos com mais eficiência, garantindo uma conexão segura e contínua. Se você tem um site ou aplicativo hospedado remotamente, dominar essa ferramenta pode economizar tempo e simplificar muito o trabalho diário.
Como é possível executar comandos diretamente via SSH para alterar diferentes aspectos do servidor, esse método oferece mais flexibilidade do que usar apenas um painel de controle. Além disso, é mais seguro e confiável do que protocolos antigos de acesso remoto, como o Telnet.
O SSH tem diversas aplicações práticas. Ele pode ser usado em vários ambientes e ajustado de acordo com suas preferências — desde a configuração da porta SSH até a escolha dos métodos de autenticação. Para se familiarizar, o ideal é testar os principais comandos SSH e ver como funcionam na prática.
Se você é cliente da Hostinger, pode acessar qualquer plano de hospedagem VPS usando o SSH para gerenciar seu site de forma segura. Também é possível utilizar o terminal do navegador, que oferece uma experiência semelhante à linha de comando SSH diretamente no seu navegador, sem precisar instalar nada.
Semua konten tutorial di website ini telah melalui peninjauan menyeluruh sesuai padrões editoriais e valores da Hostinger.
Comentários
3 responsesJune 21 2022
Material de excelência. Gosto muito do seu conteúdo.
November 21 2022
Material apresentado são verdadeiros cursos, conteúdos direto ao ponto de grande valor aos desenvolvedores. Parabéns a todos que contribuem com este aprendizado.
December 03 2022
Obrigado, Luiz! Pode contar com a gente sempre! ?