Veja quais são as principais características e aplicações práticas do Protocolo SSH (Secure Socket Shell).

(Atualizado 13 de outubro 2021)

A necessidade de um método de comunicação de rede mais seguro inspirou a criação do protocolo ssh. Sua principal vantagem é o uso de criptografia, que garante que a comunicação entre servidores remotos aconteça de maneira segura.

Este protocolo oferece um mecanismo que autentica o usuário remoto e transfere as entradas do cliente para o host, retransmitindo a saída de volta ao cliente. Se você está curioso(a) em saber mais sobre os benefícios e o que é protocolo ssh, este artigo é para você!

O que é Protocolo SSH?

Basicamente, o protocolo SSH permite que os usuários controlem e modifiquem seus servidores remotos na internet. Ele surgiu para substituir os primeiros protocolos de rede, como Telnet e rsh, que não forneciam proteção suficiente contra ataques cibernéticos.

SSH é a sigla para Secure Shell ou Secure Socket Shell e ele nada mais é que um  protocolo de rede que oferece aos usuários, principalmente aos administradores de sistema, uma maneira segura de acessar um computador em uma rede aberta, como a internet. 

O protocolo ssh utiliza o modelo cliente-servidor, conectando um aplicativo cliente Secure Shell, que é o onde a sessão é exibida, com um servidor SSH, que é onde a sessão é executada. O Secure Shell fornece autenticação de senha forte e autenticação de chave pública – e criptografada – para realizar comunicações de dados entre dois computadores conectados. 

O ssh também cria túneis seguros para outros protocolos, ou seja ele utiliza diferentes combinações de tecnologia para assegurar a comunicação entre dois pontos por meio de um túnel.

Como exemplo, é possível citar os túneis para protocolos de aplicativos como sessões gráficas do X Window System com segurança. 

O ponto forte do ssh é a criptografia e, por isso, os administradores de rede o utilizam para gerenciar sistemas de forma remota.

Também é a criptografia que permite que eles se conectem a outro computador em uma rede, executem comandos e movam arquivos de um computador para outro.

Para entender melhor o que é SSH, saiba que ele possui em três camadas:

  • Camada de transporte: responsável por estabelecer uma comunicação segura e protegida entre cliente e servidor durante e após a autenticação. Essa camada acelera a troca de dados, realizando a compactação e armazenamento dos dados em cache, mantendo um site seguro. Além disso, supervisiona a criptografia, descriptografia e proteção de integridade de dados. 
  • Camada de autenticação: responsável por comunicar os métodos de autenticação suportados ao cliente. Também realiza o processo de autenticação de um usuário.
  • Camada de conexão: responsável por gerenciar a comunicação entre as máquinas após a autenticação bem-sucedida. 

Utilização do protocolo SSH

O protocolo ssh é uma camada de segurança para transferência de informações entre máquinas. Esse protocolo pode ser usado para realizar o acesso remoto com conexões criptografadas e para realizar transferências de arquivo por meio do SFTP, um protocolo seguro para realizar isso. 

Em relação a isso, também é possível realizar o encaminhamento X11, que é quando os usuários executam aplicativos X hospedados no servidor a partir de suas máquinas clientes.

O encaminhamento de porta, por sua vez, é o mapeamento da porta de um cliente para as portas remotas do servidor. Neste cenário, o protocolo ssh ajuda a proteger outros protocolos de rede, como TCP/IP.

Basicamente, o SSH ativa funções de login e execução de sessões de terminal em sistemas remotos. Além disso, o SSH também substitui programas de transferência de arquivos, como File Transfer Protocol (FTP) e rcp (cópia remota).

Esse protocolo ajuda no tunelamento, técnica de encapsulamento que possibilita a transferência segura. Por fim, ele também gerencia a infraestrutura de rede e outras partes do sistema.

A conexão que acontece via SSH é utilizada para proteger a comunicação entre uma máquina local e um host remoto.

Isso inclui o acesso remoto a recursos de execução remota – de forma segura -, como entrega de patches de software, atualizações e outras tarefas administrativas ou de gerenciamento. 

Como acessar o SSH

Existe mais de uma forma para acessar o SSH. Um software muito utilizado para acessar o terminal de comando SSH é o chamado Putty, e outra forma muito conhecida é pelo terminal de comando Windows. Vamos entender como realizar estes dois acessos.

Acessar SSH via terminal de comando em computador Windows ou Linux

Neste caso a hospedagem do usuário poderá ser acessada utilizando o protocolo SSH em qualquer computador que trabalhe com estes sistema operacionais (Windows ou Linux). Através do terminal de comando.

Passo 1:

Em primeiro lugar, será necessário validar o requisito inicial:

Para conseguir acessar sua hospedagem via SSH é necessário liberar o acesso. Descubra neste link como liberar este acesso.

Passo 2:

Será necessário digital o acesso à hospedagem e clicar em enter. Como vamos te mostrar no exemplo a seguir:

  • Para iniciar o login digite ssh -p
  • porta_de_acesso: este é o número da porta SSH da hospedagem
    • Planos compartilhado (P, M, Business, Plus ou Turbo): utilize 2222
    • Para planos VPS ou Dedicado Linux: Use 22 ou 22022
  • user: aqui você deve adicionar o usuário da hospedagem
    • Planos compartilhado: para estes planos (por exemplo, planos P, M, Business, Plus ou Turbo), use o usuário do cPanel.
    • Para planos VPS e Dedicado utilize o usuário root.
  • @acesso: aqui é possível adicionar duas opções, adicionar a ip do servidor ou seu domínio com o apontamento DNS realizado e propagado para sua hospedagem.

Passo 3:

Agora o terminal solicitará para confirmar acesso, aqui somente precisa digitar “yes” e clicar “enter”.

Passo 4:

Para planos compartilhados insira a senha do cPanel, e para planos VPS e Dedicado insira a senha do acesso root.

Passo 5:

O terminal deverá mostrar a informação de acesso para confirmar o login, como podemos ver na seguinte imagem.

Acessar SSH usando Putty

É possível acessar o hot de um plano de hospedagem utilizando SSH, porém somente é possível em computadores que trabalhei com sistema operacional Windows. Vamos conhecer o passo a passo para realizar este processo?

Passo 1: Validar o requisito inicial

  • Para acessar o host utilizando o protocolo SSH, antes é necessário liberar o acesso. Para isso, verifique este tutorial que preparamos para te ajudar.
  • Logo após, para continuar, também é preciso instalar o software Putty no seu computador. É possível realizar a instalação através do seguinte link: https://www.putty.org/.

Passo 2: Realize a conexão através dos dados de acessos da hospedagem

  • Host Name: aqui, adicione a IP do servidor ou o domínio já apontado e propagado corretamente para seu host
  • Port: essa é a opção para adicionar o número da porta SSH da hospedagem
    • Planos compartilhados: use 22
    • VPS e Dedicado Linux: use 2222 ou 22022
  • Selecione a opção SSH
  • Faça clique em Open

Como podemos ver na seguinte imagem:

É possível que seja visualizado o seguinte aviso:

Neste caso, selecione “não” para que a conexão não seja lembrada, e “sim” para salvar a conexão.

Passo 3:

Para continuar e alcançar com sucesso a conexão SSH na hospedagem, adicione seus dados (da hospedagem) no terminal, na ordem em que eles foram solicitados.

Como funciona o Protocolo SSH

O processo para entender protocolo ssh como funciona é muito simples! Em primeiro lugar, você precisa saber que o ssh ocorre num modelo cliente-servidor. Na prática, isso significa que a conexão será estabelecida pelo cliente SSH, que por sua vez, conecta-se ao servidor SSH. 

O caminho é mais ou menos assim: o cliente SSH conduz o processo de configuração da conexão e usa criptografia de chave pública para verificar a identidade do servidor SSH.

Após a fase de configuração, o protocolo SSH usa criptografia simétrica forte e algoritmos de hash para garantir a privacidade e integridade dos dados trocados entre o cliente e o servidor.

O comando básico para o SSH se conectar a um host remoto para uma sessão terminal é:

SSH [email protected]

Este comando fará com que o cliente tente se conectar ao servidor denominado server.example.com , usando o ID do usuário UserName . 

Por fim, a resposta “sim” ao comando fará com que a sessão continue e a chave do host seja armazenada no arquivo known_hosts do sistema local.

Uma vez que a chave do host tenha sido armazenada, o sistema cliente pode se conectar diretamente àquele servidor novamente sem a necessidade de qualquer aprovação; a chave do host autentica a conexão.

Para compreender em detalhes esse processo, confira a lista abaixo: 

  1. Ao receber uma solicitação de conexão, o servidor envia ao cliente um conjunto de protocolos de criptografia compatíveis;
  2. O servidor usa a chave pública como método de autenticação;
  3. O cliente compara os protocolos com seu próprio conjunto. Se houver protocolos correspondentes, as máquinas concordam em usar um para estabelecer a conexão.Para esse propósito, eles se comunicam usando um processo criptografado assimetricamente que emprega o algoritmo de troca de chaves Diffie-Hellman (DH).
  4. O algoritmo DH permite que as máquinas trabalhem juntas e criem com segurança uma chave criptográfica em uma rede pública. 
  5. O servidor tenta autenticar o usuário que solicita acesso.

Os métodos de autenticação mais comuns são senhas e chaves SSH. As senhas não são o método de autenticação mais seguro, pois o entendimento sobre o que é uma senha forte é algo muito subjetivo.

Ao mesmo tempo, as chaves SSH são criptografadas assimetricamente e, por isso, acabam sendo a melhor opção. Depois que o cliente descriptografa a mensagem, o servidor concede ao cliente o acesso ao sistema.

Tecnologias de criptografia SSH

O protocolo SSH utiliza três tipos de criptografia de dados durante a comunicação entre as máquinas: criptografia simétrica, criptografia assimétrica e hashing. A seguir, conheça com detalhes cada um desses tipos!


Quais são as vantagens do Protocolo SSH?

A principal vantagem do protocolo SSH é a presença em servidores Unix, Linux e Mac de forma padrão. Isso faz com que haja a criação de um canal seguro entre computadores locais e remotos. 

Além dessa vantagem, há a possibilidade de realizar o gerenciamento de roteadores, hardware de servidor, plataformas de virtualização, sistemas operacionais (SOs) e aplicativos de gerenciamento de sistemas internos e transferência de arquivos.

Nós fizemos uma lista que elenca as principais vantagens do protocolo SSH, confira!

Conexão 

O Secure Shell é utilizado para se conectar a servidores, fazer alterações, realizar uploads e sair, seja por meio de ferramentas ou diretamente através do terminal.

Dessa forma, as chaves SSH podem ser empregadas para automatizar o acesso aos servidores e geralmente são usadas em scripts, sistemas de backup e ferramentas de gerenciamento de configuração.

Criptografia

Todo o tráfego SSH é criptografado; estejam os usuários transferindo um arquivo, navegando na web ou executando um comando, suas ações serão privadas.

Projetadas para serem convenientes e trabalharem além das fronteiras organizacionais, as chaves SSH fornecem logon único (SSO) para que os usuários possam alternar entre suas contas sem digitar uma senha a cada vez.

Flexibilidade

O SSH também é usado em scripts e outros softwares para permitir que os programas e sistemas acessem dados e outros recursos de maneira remota e segura.

Este artigo mostrou que para uma compreensão mais aprofundada sobre os aspectos do SSH pode ajudar no entendimento sobre segurança e tecnologia da informação.

Esperamos que esse conteúdo possa lhe ajudar a perceber como diferentes tecnologias podem ser combinadas para criar um sistema poderoso e seguro.

Continue acompanhando o blog da HostGator para mais conteúdos sobre tecnologia, negócios e marketing!