O que é SSH?
Os benefícios do Secure Shell e o seu valor são explicados de forma simples.
Em resumo
O Secure Shell (SSH) é uma forma de estabelecer uma ligação segura a um computador remoto ou servidor através da internet. Encripta todos os dados que são enviados entre os dois dispositivos, dificultando a interseção ou o roubo de informações sensíveis. O SSH é, normalmente, utilizado por administradores de sistemas e programadores para gerir servidores e executar tarefas remotas.
SSH significa Secure Shell e é uma forma segura de transferir ficheiros do seu computador para um servidor.
Vamos recuar um pouco e olhar para a história do SSH. Antes do SSH, não havia uma forma segura de se conectar a computadores remotos. A capacidade de dois computadores que não estão próximos um do outro se conectarem foi uma excelente invenção, para começar. O único problema era a falta de segurança entre os dois computadores.
Pense, tem um documento importante que quer partilhar com o seu colega de trabalho. Como está a partilhar o documento com o seu colega de trabalho, qualquer pessoa pode aceder e ler o documento. Ou, em termos técnicos, qualquer pessoa online pode ler e interceptar os dados que está a enviar para o seu colega de trabalho.
Telnet — o predecessor do SSH
Telnet é um conjunto de protocolos e regras que se aplicam para aceder a outro computador remotamente, assumir o controlo desse computador e modificá-lo sem estar nas proximidades do computador. O problema com o Telnet são as ameaças à segurança. Em 1995, o fundador do SSH decidiu melhorar o software do Telnet e substituí-lo por uma forma muito segura de aceder a computadores remotamente e garantiu que influências externas não pudessem interceptar os dados. Este novo software foi denominado SSH. O protocolo SSH permite que os utilizadores assumam o controlo dos seus servidores remotamente sem riscos de segurança.
A segurança do SSH
Vamos voltar à nossa metáfora para explicar o processo do SSH:
Quando quisesse enviar um documento para o seu colega de trabalho, colocaria o documento numa caixa e trancava essa caixa.
Assim que a caixa fosse entregue ao seu colega de trabalho, digamos através de um serviço de entregas, o seu colega colocaria o seu próprio cadeado na caixa, trancaria e enviaria de volta para si.
Depois de ter a caixa novamente na sua posse, removeria o seu cadeado e enviaria-a de volta ao seu colega de trabalho com apenas o cadeado dele intacto.
Dessa forma, ele usaria a sua chave para destrancar a caixa e ler o conteúdo do documento sem que ninguém o interceptasse.
Este processo parece muito trabalhoso e, felizmente, o processo técnico real é super fácil. Tecnicamente, tudo o que precisa de fazer é autenticar o utilizador remoto, o que demora apenas cerca de um segundo.
Como funciona o SSH e o que faz o SSH?
O SSH usa conexões diferentes, como uma conexão TCP (Transmission Control Protocol) quando se conecta a servidores (ou computadores). Uma conexão TCP é usada como um protocolo de transporte de rede confiável que o SSH pode usar. Uma vez que a conexão é estabelecida, o SSH envia os dados como pacotes carregados com essas informações de dados. Todas as informações do pacote são encriptadas, além do comprimento do pacote (porque precisamos de saber quantos dados chegarão). O código de autenticação da mensagem dentro do pacote é um código que o servidor e o cliente decidem.
Na extremidade da recepção, o pacote é desencriptado pelo servidor.
Dessa forma, pode aceder a um computador através de uma rede não segura como a Internet, pois o SSH funciona encriptando os seus pacotes de dados e não a conexão entre os dois computadores.
Conexão SSH Secure Shell
A conexão SSH é iniciada pelo cliente que se conecta ao servidor SSH. Depois de iniciar e conectar o seu computador ao servidor, vai abrir um canal. Através do canal, pode comunicar e controlar os dados. Como cliente, pode abrir diferentes canais ou conexões e, assim, permitir várias conexões multiplex.
Conexões/canais Multiplex SSH
Suponha que quer trabalhar com várias conexões SSH Secure Shell numa conexão TCP? As conexões multiplex SSH permitem esta ótima funcionalidade que pode, quando usada corretamente, agilizar as operações de SSH. Além disso, pode melhorar aspetos do SSH, como a execução mais rápida de comandos.
Vamos dar-lhe um guia do processo de criação de uma conexão ou canal com SSH.
- Assim que se conectar ao servidor, o servidor enviará de volta uma mensagem como ‘Suporto esta versão do SSH’ – referindo-se ao seu computador e ao uso do SSH.
- Trocará informações com o servidor sobre a sua compatibilidade e a compatibilidade do servidor.
- Vai partilhar informação sobre o método que ambos vão usar para enviar dados e mensagens encriptadas. Basicamente, está a negociar os parâmetros com o servidor. Assim que tudo isto esteja estabelecido, autentica-se.
- Insere a sua senha e o servidor irá reconhecê-lo. Assim que a autenticação for concluída, o servidor criará um canal e terá uma conexão Secure Shell.
Chave SSH
O SSH usa três técnicas e seguiremos com uma breve explicação para que esteja mais familiarizado com o funcionamento do SSH.
Encriptação simétrica
A encriptação simétrica usa uma chave para encriptar e desencriptar. Além disso, qualquer pessoa que tenha acesso à chave também tem acesso à mensagem que está a ser transferida.
Um algoritmo de troca de chaves realiza o processo de encriptação simétrica. Se outra máquina obtiver acesso à chave, ela não será capaz de desencriptar a mensagem, pois o algoritmo de troca de chave é desconhecido. Isso acontece porque os dois computadores (host e cliente) manipulam os dados partilhados e calculam a chave secreta.
Encriptação assimétrica
A encriptação assimétrica usa duas chaves SSH. Chaves privadas e públicas. A força da chave privada está na privacidade da chave e no facto de que ela nunca deve ser revelada. Isso acontece porque apenas a chave privada pode desencriptar mensagens que foram encriptadas com a chave pública. As duas chaves funcionam em conjunto. Assim que a conexão for estabelecida, o servidor usará a chave pública para confirmar a autenticação. Se o cliente conseguir desencriptar a mensagem, significa que ele possui a chave privada. Assim, a sessão SSH pode começar.
Hashing
Pode pensar no algoritmo de hash como um código de barras. Os últimos números num código de barras são determinados por todos os outros números no código de barras, a mesma lógica se aplica ao hash. O que significa que se alterar um dos números do código de barras, os últimos números do código de barras também serão alterados. O hash funciona assim para qualquer ficheiro que deseja transferir. O algoritmo de hash fornece um número longo (hexadecimal) que corresponde a tudo o que está no ficheiro. É uma forma de verificar se o ficheiro está intacto e inclui tudo o que diz que ele faz.
A diferença entre o hashing e as outras duas alternativas de encriptação é que não pode reverter o hashing, não foi feito para ser desencriptado.
O SSH usa hashing para verificar a autenticidade das mensagens, garantindo que as mensagens não possam ser interceptadas e adulteradas.
Se tem um documento que deseja enviar e contém o seu nome, o hash passa pelo canal em conjunto com o ficheiro para verificar se é, de facto, o documento real.
SSH na one.com
SSH implementa um algoritmo de encriptação forte para garantir a segurança da comunicação entre as partes.
Se tiver um pacote Profissional (ou melhor que esse) connosco, poderá facilmente ativar o SSH no painel de controlo da One.com. Ao contrário dos utilizadores de Mac e Linux, que podem apenas usar os seus terminais, os utilizadores do Windows precisam de instalar um cliente SSH dedicado. O freeware PuTTY é normalmente considerado a escolha número um.