SSH
SSH (Secure Shell Protocol/Protocolo de Shell Seguro) é um protocolo de acesso seguro a sistemas remotos. Ele pertence à camada de aplicação, assim como HTTP, SMTP, SNMP, FTP e Telnet. O protocolo opera na porta 22 por padrão, mas essa configuração pode ser alterada conforme necessário.
Comparado ao protocolo Telnet, o SSH transmite tráfego criptografado, garantindo a proteção dos dados por meio de chaves de criptografia.
Como funciona o SSH
O protocolo utiliza chaves de criptografia para garantir a transmissão segura dos dados. Graças a essa criptografia, mesmo que um invasor intercepte o fluxo de dados, levaria anos para descriptografá-los, tornando as informações obsoletas antes que possam ser decifradas. Por isso, o SSH emprega criptografia assimétrica.
Criptografia assimétrica – método que utiliza duas chaves distintas para criptografar e descriptografar os dados.
Chave SSH – uma sequência de caracteres aleatórios utilizada para criptografar dados, que são então enviados para o destino.
Chave pública – usada para criptografar os dados e pode ser compartilhada com outras partes que precisam enviar informações criptografadas.
Chave privada – usada para descriptografar os dados e deve ser armazenada em um local seguro. Existe a opção de protegê-la com uma senha ao criar a chave.
Exemplo de funcionamento do protocolo SSH usando chaves SSH
A conexão entre servidor e cliente ocorre quando o arquivo de configuração do SSH está corretamente configurado no servidor e as portas necessárias estão abertas. O cliente deve enviar sua chave pública ao servidor para que ele possa criptografar os dados em resposta e estabelecer a comunicação segura.
Quando um cliente solicita uma conexão com o servidor, os dados são criptografados com a chave privada do cliente e transmitidos pela rede até o servidor. O servidor responde com dados criptografados e continua a comunicação usando a chave pública do cliente para garantir a segurança.
Qualquer dispositivo com acesso à internet e um cliente SSH instalado pode atuar como cliente SSH.
Exemplos de clientes SSH:
- Notebook com Linux, macOS ou Windows;
- Dispositivos Android;
- Dispositivos iOS (com um cliente SSH instalado).