SSL/TLS e SSH sao ambos protocolos de criptografia que usam criptografia de chave pública. Mas eles resolvem problemas diferentes para publicos diferentes. SSL/TLS protege conexões web (HTTPS). SSH protege o acesso remoto a servidores (terminal/linha de comando).
Comparacao rápida
| SSL/TLS | SSH | |
|---|---|---|
| Nome completo | Secure Sockets Layer / Transport Layer Security | Secure Shell |
| Proposito | Criptografar trafego web | Acesso remoto a servidores |
| Usado por | Navegadores, servidores web, APIs | Administradores de sistemas, desenvolvedores |
| Porta | 443 (HTTPS) | 22 |
| Autenticação | Certificado de uma CA | Chave pública ou senha |
| Autoridade Certificadora necessária | Sim (para confiança pública) | Não |
| Usuario tipico | Visitantes de sites (sem saber) | Administradores de servidores (intencionalmente) |
| Tipo de conexão | Cliente (navegador) → Servidor | Terminal do usuario → Servidor |
| Criptografa | Requisições/respostas HTTP | Comandos shell, transferencia de arquivos |
| Exemplos | Sites HTTPS, APIs, email (IMAPS) | ssh user@server, scp, sftp |
SSL/TLS em um paragrafo
SSL/TLS criptografa a conexão entre um navegador web é um servidor. Quando você visita https://example.com, seu navegador verifica o certificado SSL do servidor (emitido por uma Autoridade Certificadora), negocia parametros de criptografia, e todo o trafego flui por um canal criptografado. O usuario não precisa fazer nada — o HTTPS e transparente.
SSH em um paragrafo
SSH criptografa a conexão entre o terminal de um usuario é um servidor remoto. Quando você executa ssh user@server.com, o cliente SSH verifica a chave pública do servidor (você confirma na primeira conexão), autentica você (com uma senha ou par de chaves SSH), e fornece uma sessao shell criptografada. SSH é usado por desenvolvedores e administradores — usuarios comuns raramente interagem com ele.
Eles usam criptografia semelhante
Ambos os protocolos usam a mesma matematica subjacente:
| Conceito | Em SSL/TLS | Em SSH |
|---|---|---|
| Criptografia assimetrica | Chave pública do servidor no certificado | Chave de host do servidor + chave SSH do usuario |
| Troca de chaves | ECDHE Diffie-Hellman | Diffie-Hellman ou ECDH |
| Criptografia simetrica | AES-GCM, ChaCha20 | AES, ChaCha20 |
| Integridade | HMAC / AEAD | HMAC / AEAD |
| Sigilo antecipado | Via ECDHE (obrigatório no TLS 1.3) | Via DH/ECDH |
Os algoritmos sao quase identicos. A diferenca esta na camada de protocolo e no modelo de confiança.
A diferenca no modelo de confiança
SSL/TLS: Autoridades Certificadoras
SSL/TLS usa confiança de terceiros. Seu navegador confia em ~100-150 Autoridades Certificadoras. Quando um servidor apresenta um certificado assinado por uma CA confiavel, o navegador o aceita automaticamente.
Você confia nas CAs para verificar que o certificado de google.com realmente pertence ao Google.
SSH: Trust on First Use (TOFU)
SSH usa confiança direta. Na primeira vez que você se conecta a um servidor, o SSH pergunta:
The authenticity of host 'server.com' can't be established.
ED25519 key fingerprint is SHA256:xyz...
Are you sure you want to continue connecting? (yes/no)
Você verifica a impressao digital uma vez, o SSH a memoriza (~/.ssh/known_hosts), e conexões futuras verificam contra ela. Nenhuma CA envolvida.
Eles podem ser usados juntos?
Sim — sao complementares, não concorrentes:
- SSL/TLS protege o site que seus visitantes veem (
https://example.com) - SSH protege como você gerencia o servidor que roda o site (
ssh admin@server) - Você pode usar SSH para acessar um servidor e instalar um certificado SSL no Nginx
A maioria dos servidores tem tanto a porta 443 (HTTPS com SSL/TLS) quanto a porta 22 (SSH) abertas simultaneamente.
Perguntas frequentes
Qual e mais seguro?
Nenhum dos dois — ambos sao igualmente seguros quando configurados corretamente. Ambos usam os mesmos algoritmos criptograficos. A pergunta e como perguntar “o que e mais seguro, a fechadura da sua porta da frente ou a fechadura do seu carro?” Eles protegem coisas diferentes.
Preciso de ambos?
Para um servidor web: normalmente sim. SSL/TLS protege seus visitantes (HTTPS). SSH protege seu acesso ao servidor (administracao). Eles servem propositos diferentes.
SFTP é o mesmo que FTPS?
Não. SFTP (SSH File Transfer Protocol) roda sobre SSH (porta 22). FTPS (FTP Secure) roda sobre SSL/TLS (porta 990 ou 21 com STARTTLS). Ambos criptografam transferencias de arquivos, mas usam protocolos diferentes. SFTP e mais comum e mais simples de configurar.
SSL/TLS pode substituir o SSH?
Não. SSL/TLS não fornece um shell ou interface de linha de comando. Você não pode “dar SSH em um servidor” usando TLS. Alguns terminais baseados em web (como Wetty ou ttyd) fornecem acesso shell via HTTPS/WebSocket, mas o conceito subjacente e diferente.