Saiba o que é SSH (Secure Shell) e pra que serve esse protocolo

TL;DR

SSH (Secure Shell) é o protocolo IETF (RFCs 4251 a 4254) na porta 22 que cria um canal autenticado e cifrado entre seu computador e um servidor remoto para administrar sites e sistemas.

  • Por que importa: programação, testes e deploy exigem troca segura de arquivos com o servidor.
  • Como funciona: camadas simétrica, assimétrica e hashing (HMAC) protegem a sessão.
  • Em números: o OpenSSH 10.0 (abril de 2025) removeu de vez o DSA; ed25519 é o padrão do ssh-keygen.
  • Conclusão: prefira par de chaves a senha e confira a fingerprint na primeira conexão.

O desenvolvimento ou a manutenção de sites são demandas comuns em qualquer empresa que trabalhe com esses serviços. Manter a segurança dos processos é uma das obrigações dos profissionais e, para isso, é necessário usar os recursos principais.

O protocolo SSH é um dos parâmetros de trabalho que garantem que as informações estarão devidamente protegidas.

A comunicação de um computador com um servidor é uma atividade recorrente durante essas demandas de gestão de um site. Transferir dados é parte integrante da tarefa e, quando ela chega a esse estágio, é fundamental garantir que o processo seja seguro e, principalmente, protegido.

Este guia detalha o protocolo SSH e por que ele é fundamental. Confira um conteúdo detalhado, de acordo com os seguintes tópicos:

Continue a leitura e confira!

Neste post 4

O que é o protocolo SSH?

SSH é a sigla de Secure Shell, algo como interpretador de comandos seguro. Não é uma cápsula: é um protocolo padronizado pelo IETF nas RFCs 4251 a 4254 e registrado pela IANA na porta 22. Na prática, o protocolo SSH é um mecanismo de segurança oferecido pelos serviços de hospedagem.

A função dele é criar um canal seguro entre o computador e o servidor remoto, com autenticação do servidor, confidencialidade e integridade, e com sigilo futuro perfeito. Ele protege o conteúdo em trânsito, mas quem garante a entrega dos pacotes é o TCP, não o SSH.

O SSH tem a função de permitir aos usuários e desenvolvedores realizarem qualquer modificação em sites e servidores utilizando uma conexão simples. Dessa forma, por meio de um computador ligado à internet, essa pessoa consegue configurar, modificar arquivos ou até mesmo trabalhar no desenvolvimento de uma página da web.

A proposta desse protocolo é justamente criar um método seguro e que garanta que não haverá nenhuma invasão desses arquivos e de seus códigos. Por isso, são usadas criptografias que garantem que somente dois pontos acessem as informações: o servidor e o computador que enviou os dados para esse local remoto.

O funcionamento do protocolo

Na prática, o SSH fornece o mecanismo para que haja a autenticação desse usuário remoto, garantindo que essa pessoa tenha autorização para se comunicar com o servidor. Dessa maneira, é criada a conexão por meio do protocolo e as informações são transportadas nesse modelo de secure shell, com a criptografia que protege os dados.

O SSH é acessado via terminal em qualquer sistema. No Linux e no macOS o cliente OpenSSH já vem no sistema. No Windows, a partir do build 1809 e do Windows Server 2019, o OpenSSH é um recurso sob demanda, ativado em Recursos Opcionais, e no Windows Server 2025 ele já vem instalado. Também existe o PuTTY, na versão 0.84 de 22 de maio de 2026. Por meio da janela é feita a conexão com o servidor remoto, e então o processo se desenvolve.

Quando o SSH precisa ser acessado?

O SSH é um recurso utilizado em momentos específicos e para trabalhos que são rotineiros para os programadores e desenvolvedores. Dos testes às alterações quando o site já está pronto, há diversas etapas em que é necessário criar uma conexão segura entre o ponto de acesso e o servidor remoto.

A seguir, entenda melhor quando o protocolo é utilizado e veja de que maneira ele se faz relevante em cada uma dessas ocasiões.

Programação

A programação é uma etapa de trabalho que está relacionada com a criação de um site. Programadores desenvolvem códigos, fazem alterações e precisam testar de que maneira todo esse desenvolvimento se comporta com a aplicação no ar.

Para isso, é necessário transferir os dados para o servidor e então analisar o comportamento das páginas online. Esse procedimento pode ser feito até mesmo na instalação de um CMS, como o WordPress. Assim, é possível visualizar se os comandos enviados do painel são ativados corretamente.

Durante todo o processo, por várias vezes, a troca de informações com o servidor remoto deverá ser feita, o que justifica a necessidade de assegurar a segurança dos códigos. Proteger essa informação é a garantia de que a estrutura construída para aquele site não será indevidamente desviada. Isso protege a propriedade intelectual do profissional e o investimento do cliente.

Deploy

O deploy é um processo muito comum na rotina de desenvolvedores e se trata de um trabalho de atualização do site, que geralmente é composta por mudanças ou por novas aplicações implementadas nele. O deploy é um trabalho mais longo e que envolve, na maioria das vezes, a transferência de um alto nível de arquivos, o que também requer um método seguro.

Por isso, o uso do SSH é a melhor maneira de conduzir esse trabalho. O protocolo costuma ser uma opção recorrente dos profissionais responsáveis por cuidar dessas tarefas. Por meio do secure shell, há a garantia de que a transferência das novas aplicações e das alterações seja feita no tempo adequado, sem falhas e sem a perda de qualquer informação.

Quais são as criptografias usadas pelo SSH?

A criptografia é o que garante, além da segurança do site, também a proteção dessa tarefa de conexão entre o cliente e o servidor remoto. No entanto, há diferentes estruturas de criptografia que podem ser aplicadas na hora de usar o protocolo SSH nessa demanda. São basicamente três camadas: simétrica, assimétrica e hashing. No lado assimétrico, o ssh-keygen atual gera chaves ed25519, que é o tipo padrão, além de ecdsa, ecdsa-sk, ed25519-sk, mldsa44-ed25519 e rsa, com 3072 bits por padrão. O DSA foi removido de vez no OpenSSH 10.0, de abril de 2025. Confira mais sobre elas a seguir.

Criptografia simétrica

Essa é uma forma de criptografia que é realizada por meio de uma chave secreta, essa que é compartilhada apenas entre o servidor e o usuário. Seu papel é criptografar ou descriptografar a mensagem que é transferida nesse processo, no entanto, o secure shell só oferece a leitura do conteúdo mediante a apresentação dessa chave.

A nomenclatura de referência à simetria é originada do processo utilizado para gerar essa chave. Ela nunca trafega pela rede. Cliente e servidor executam uma troca de chaves que produz um segredo compartilhado, e cada lado calcula esse valor localmente a partir de dados públicos. As chaves de criptografia e de autenticação são derivadas desse segredo. Enviar a cada uma separadamente.

Cada vez que uma sessão SSH é criada, uma nova chave de criptografia é gerada no momento anterior à autenticação. Assim, na hora de transferir o arquivo, o usuário já tem a senha utilizada para criptografar o conteúdo e então realizar esse envio ao servidor.

Você também pode se interessar por este conteúdo!
Segurança de hospedagem: como garantir a do seu site

Criptografia assimétrica

Esse modelo é o oposto do anterior: são usadas duas chaves, uma para o cliente e outra para o servidor, para que haja a criptografia dos dados transferidos. As chaves são chamadas de pública e privada, formando então a combinação necessária para gerar o SSH e seu protocolo de segurança.

Nesse modelo, a chave pública é distribuída de forma aberta e compartilhada. No entanto, a partir dela não é possível descobrir qual é a chave privada. Isso acontece graças a um processo que funciona da seguinte maneira: mensagens criptografadas por chaves públicas só podem ser descriptografadas pela chave privada da mesma máquina.

A chave privada, em meio a esse processo, deve permanecer inacessível a terceiros, sendo de posse e uso somente do cliente. Isso é fundamental: a chave privada é o que decifra o que foi cifrado com a chave pública correspondente e o que assina o desafio enviado pelo servidor durante a autenticação. Não se decifra uma chave pública, que é justamente a parte feita para ser distribuída.

Hashing

O hashing é um método unidirecional de criptografia usado no SSH. Essa prática consiste em criar um hash, por meio de um algoritmo, para garantir que a mensagem será protegida em uma forma específica de criptografia e códigos de autenticação. O processo é feito usando HMACs (Hash-based Message Authentication Codes), garantindo que não haja violação nos códigos que serão recebidos pelo servidor remoto.

Como acessar o protocolo SSH?

A RFC 4252 define os métodos de autenticação do SSH: publickey, que é o único obrigatório, password e hostbased, ambos opcionais, além de none, que não é recomendado. Na prática do dia a dia você vai usar dois deles: senha ou par de chaves. A seguir, entenda como cada um deles é executado e quais são os processos que garantem a segurança das transferências.

Com login e senha

É necessário, primeiramente, se conectar ao servidor da hospedagem do site. Lá você precisa inserir o endereço, que geralmente é o domínio do site ou até mesmo o IP, e a sua senha de acesso. Você terá essas informações claras, uma vez que a hospedagem informar de maneira simples nessa relação com o cliente.

Após isso, o terminal será acessado normalmente. Então digite o comando ssh [email protected], sem o cifrão, que é apenas o símbolo do prompt. Se o servidor não estiver na porta padrão 22, use a opção -p seguida da porta, como em ssh -p 2222 [email protected].

Você também pode utilizar o IP do site. Para isso, use o mesmo comando, apenas substituindo o endereço pelo número após o “@”.

Após digitar o comando e pressionar enter, o OpenSSH mostra a impressão digital da chave do servidor e pergunta: “Are you sure you want to continue connecting (yes/no/[fingerprint])?“. Confira a impressão digital antes de responder, porque é ela que evita um ataque de intermediário na primeira conexão.

Você precisará digitar “yes” e apertar “enter”. Em seguida, sua senha de acesso será solicitada, bastando digitá-la e pressionar “enter” novamente. Isso fará com que você visualize todos os arquivos do servidor, incluindo as pastas. É justamente o arquivo “public_html/” que será o diretório a receber todas essas mudanças.

Com o par de chaves

O acesso por chaves é mais seguro: o usuário gera o par com o ssh-keygen, guarda a chave privada na própria máquina e copia a chave pública para o servidor. Prefira ed25519, porque o OpenSSH 8.8, de 26 de setembro de 2021, desativou por padrão as assinaturas RSA com SHA-1, consideradas quebradas. Elas, quando cruzadas, geram uma combinação de texto que garante a autenticidade das informações de acesso que o cliente tem para transferir os arquivos.

A chave pública fica armazenada no servidor, enquanto a privada fica no computador do usuário. Quando a solicitação de acesso é feita, as informações são cruzadas e, se tudo estiver certo, a descriptografia acontece normalmente.

O protocolo SSH é uma possibilidade segura, dinâmica e que garante que o servidor estará sempre à disposição do cliente. Garantir a segurança de informações estratégicas se faz fundamental para que a atualização de sites não gere riscos.

Perguntas frequentes

Quando usar SSH no dia a dia de desenvolvimento?

Sempre que for preciso falar com o servidor com segurança: enviar código, instalar um CMS como WordPress, testar comportamento online ou fazer deploy com muitos arquivos. O protocolo autentica o usuário, cifra o trânsito e reduz o risco de interceptação durante essas rotinas repetidas de manutenção e publicação.

Qual a diferença entre criptografia simétrica e assimétrica no SSH?

Na simétrica, cliente e servidor derivam um segredo compartilhado por troca de chaves; a chave de sessão não trafega pronta na rede e muda a cada conexão. Na assimétrica, entram chave pública (distribuível) e privada (só no cliente): o que a pública cifra, só a privada correspondente abre, e a privada assina o desafio do servidor na autenticação.

Como conectar por senha via terminal?

Use ssh usuario@dominio (ou o IP). Se a porta não for 22, acrescente -p e o número. Na primeira vez o OpenSSH mostra a fingerprint e pergunta se deseja continuar; confira antes de digitar yes para evitar homem-no-meio. Em seguida informe a senha. O diretório web costuma estar em public_html/.

Por que autenticação por chaves é preferível?

Você gera o par com ssh-keygen, mantém a privada na máquina e copia a pública ao servidor. Prefira ed25519: desde o OpenSSH 8.8 (26/09/2021) assinaturas RSA com SHA-1 ficaram desativadas por padrão por serem consideradas quebradas. A RFC 4252 torna publickey o único método obrigatório; password é opcional.

SSH já vem pronto no Windows, Linux e macOS?

No Linux e no macOS o cliente OpenSSH costuma vir instalado. No Windows, a partir do build 1809 e do Windows Server 2019 ele é recurso sob demanda em Recursos Opcionais; no Windows Server 2025 já chega instalado. Alternativa gráfica citada no texto: PuTTY 0.84 (22 de maio de 2026).

MM Matt Montenegro