Crittografia - Secure Shell (protocollo SSH) Kryptographie - Secure Shell (Protokoll SSH) Cryptographie - Secure Shell (protocole SSH) Criptografía - Caparazón Seguro (protocolo SSH) Cryptography - Secure Shell (SSH protocol)


A Internet permite realizar um grande número de operações à distância, nomeadamente a administração de servidores ou a transferência de ficheiros. O protocolo e os r-comandos BSD (rsh, rlogin et rexec), que permitem efectuar estas tarefas distantes, possuem o inconveniente essencial de deixar circular às claras na rede as informações trocadas, nomeadamente o identificador (login) e a senha para o acesso à máquina distante. Assim, um pirata situado numa rede entre o utilizador e a máquina distante tem a possibilidade de ouvir o tráfego, ou seja, de utilizar instrumento chamado sniffer, capaz de capturar as tramas que circulam na rede e assim obter o identificador e a senha de acesso à máquina distante.


Ainda que as informações trocadas não possuam um grande nível de segurança, o pirata obtém um acesso a uma conta na máquina distante e pode eventualmente estender os seus privilégios sobre a máquina para obter um acesso administrador (root).

Já que é impossível dominar o conjunto das infra-estruturas físicas situadas entre o utilizador e a máquina distante (a Internet é, por definição, uma rede aberta), a única solução é recorrer a uma segurança ao nível lógico (a nível dos dados).

O protocolo SSH (Secure Shell) responde a esta problemática permitindo a utilizadores (ou serviços TCP/IP) aceder a uma máquina através de uma comunicação codificada (chamado túnel).

O protocolo SSH

O protocolo SSH (Secure Shell) foi criado em 1995 pelo Finlandês Tatu Ylönen.

Trata-se de um protocolo que permite a um cliente (um utilizador ou mesmo uma máquina) abrir uma sessão interactiva numa máquina distante (servidor) para enviar comandos ou ficheiros de maneira protegida:

  • Os dados que circulam entre o cliente e o servidor são codificados, o que garante a sua confidencialidade (ninguém além do servidor ou do cliente pode ler as informações que transitam na rede). Não é por conseguinte possível ouvir a rede com a ajuda de um analisador de tramas.
  • O cliente e o servidor autenticam-se mutuamente para ter a certeza de que as duas máquinas que comunicam são efectivamente as que cada uma das partes crê ser. Assim, já não é possível que um pirata usurpe a identidade do cliente ou do servidor (spoofing).



A versão 1 do protocolo (HS) proposta a partir de 1995 tinha por objectivo servir de alternativa às sessões interactivas (shells) como Telnet, rsh, rlogin e rexec. Este protocolo possuía, contudo, uma falha que permite a um pirata inserir dados no fluxo codificado. É a razão pela qual, em 1997, a versão 2 do protocolo (SSH2) foi proposta como documento de trabalho (draft) ao IETF. Os documentos que definem o protocolo são acessíveis em linha em http://www.ietf.org/html.charters/secsh-charter.html.


O Secure Shell Versão 2 propõe igualmente uma solução de transferência de ficheiros protegida (SFTP, Secure File Transfer Protocol).

O SSH é um protocolo, quer dizer, um método standard que permite às máquinas estabelecer uma comunicação protegida. A esse respeito, existem numerosas aplicações de clientes e de servidores HS. Alguns são pagas, outras são gratuitas ou open source: encontrará diversos clientes HS na secção de telecarregamentos de Kioskea.

Funcionamento de SSH

O estabelecimento de uma conexão HS faz-se em várias etapas:

  • Inicialmente, o servidor e o cliente identificam-se mutuamente para instalar um canal protegido(nível de transporte protegido).
  • Subsequentemente, o cliente autentica-se junto do servidor para obter uma sessão.

Instalação do canal protegido

A instalação de um nível de transporte protegido começa por uma fase de negociação entre o cliente e o servidor para acordarem sobre os métodos de codificação a utilizar. Com efeito, o protocolo SSH é suposto funcionar com um grande número de algoritmos de codificação, é por isso que o cliente e o servidor devem inicialmente trocar os algoritmos que suportam.

Seguidamente, para estabelecer uma ligação protegida, o servidor envia a sua chave pública de hóspede (host key) ao cliente. O cliente gera uma chave de sessão de 256 bits que codifica graças à chave pública do servidor, e envia ao servidor a chave de sessão codificada, bem como o algoritmo utilizado. O servidor decifra a chave de sessão graças à sua chave privada e envia uma mensagem de confirmação codificada com a ajuda da chave de sessão. A partir daí, o resto das comunicações é codificado graças a um algoritmo de codificação simétrico utilizando a chave de sessão compartilhada pelo cliente e o servidor.

Toda a segurança da transacção assenta na garantia que têm o cliente e o servidor sobre a validade das chaves de hóspede da outra parte. Assim, aquando da primeira conexão a um servidor, o cliente afixa geralmente uma mensagem que pede para aceitar a conexão (e apresenta eventualmente um condensado da chave de hóspede do servidor):

Host key not found from the list of known hosts. 
Are you sure you want to continue connecting (yes/no)?

Para obter uma sessão verdadeiramente protegida, é aconselhável pedir oralmente ao administrador do servidor que valide a chave pública apresentada. Se o utilizador validar a conexão, o cliente regista a chave hóspede do servidor a fim de evitar a repetição desta fase.

Pelo contrário, de acordo com a sua configuração, o servidor pode às vezes verificar que o cliente é efectivamente aquele que ele diz ser. Assim, se o servidor possuir uma lista de hóspedes autorizados a conectar-se, vai codificar uma mensagem com a ajuda da chave pública do cliente (que possui na sua base de dados de chaves de hóspedes), para verificar se o cliente está em condições de decifrá-la com a ajuda da sua chave privada (fala-se então de challenge).

A autenticação

Uma vez que a conexão protegida estiver instalada entre o cliente e o servidor, o cliente deve identificar-se no servidor para obter um direito de acesso. Existem vários métodos:

  • o método mais conhecido é a tradicional palavra-passe. O cliente envia um nome de utilizador e uma palavra-passe ao servidor através da comunicação protegida e o servidor verifica se o utilizador interessado tem acesso à máquina e se a palavra-passe fornecida é válida
  • um método menos conhecido mas mais flexível é a utilização de chaves públicas. Se a autenticação por chave for escolhida pelo cliente, o servidor vai criar um challenge e dar um acesso ao cliente se este último conseguir decifrar o challenge com a sua chave privada


Última modificação do dia Quarta 15 de Julho de 2009 às 22:21:32.Este documento, intitulado « Codificação por substituição »a partir de Kioskea (pt.kioskea.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.
Melhores respostas por « Codificação por substituição » em :
Codificação de Huffman Ver A codificação de Huffman David Huffman propôs em 1952 um método estatístico que permite atribuir uma palavra de código binário aos diferentes símbolos a comprimir (pixéis ou caracteres por exemplo). O comprimento de cada palavra de...
Codificação Base64 Ver A codificação Base64 O princípio da codificação Base 64 consiste em utilizar caracteres EUA-ASCII (caracteres não acentuados) para codificar qualquer tipo de dado codificado em 8 bits. Os protocolos de correio electrónico foram...
A codificação CIE / Lab (L*a*b) Ver A codificação CIE As cores podem ser percepcionadas diferentemente, de acordo com os indivíduos e podem ser afixadas diferentemente de acordo com os periféricos de afixação. A Comissão Internacional da Iluminação (CIE) definiu por...
Medidas em informática VerResumo: Princípios de conversão Norma ANTES de 1998 (agora obsoleta e errada) Norma ATUAL (pouco usada mas exata) Links Tendência de conversão popular Unidades de medida Em informática, a quantidade de informação do menor bit, tem os...
[Audio] Converter um arquivo m4a ou m4b em mp3 VerCom o iTunes Abra o iTunes Clique em Edição / Preferências / Avançado / Importação E escolha "Codificador de mp3" Depois, selecione os arquivos a serem convertidos clicando com o botão direito do mouse em "Converter em mp3" Com o ...
Download K Lite Codec Pack Full VerK-Lite Codec Pack é uma coleção de codecs e de filtros necessários para codificar e descodificar formatos de audio ou vídeo. K-Lite Codec Pack Full carrega todos os codecs e filtros necessários à maioria dos formatos de audio e vídeo comuns....
Download Planilha Para Controle de Horas Trabalhadas 1.0 VerEste é um arquivo excel que auxiliará você a calcular as horas trabalhadas por cada um dos trabalhadores de sua emprêsa, calculando o valor a ser pago no final de um mês de trabalho. A planilha já vem com os campos preenchidos, gerando o calculos...
Codificação por substituição VerA codificação por substituição A codificação por substituição consiste em substituir numa mensagem uma ou várias entidades (geralmente letras) por uma ou várias outras entidades. Distinguem-se geralmente vários tipos de criptosistemas...
A codificação Uuencode/Uudecode VerA codificação Uuencode A codificação Uuencode (contracção de Unix-to-Unix encode) é um algoritmo que permite converter dados binários codificados em 8 bits num formato de codificação em 7 bits. A codificação Uuencode foi criada...
A codificação HSL (TSL) VerA codificação HSL A codificação HSL O modelo HSL (Hue, Saturation, Luminance, ou em português TSL), que se baseia nos trabalhos do pintor Albert H.Munsell (que criou o Atlas de Munsell), é um modelo de representação dito...