OpenSSH (Open Secure Shell) é um conjunto de utilitários de rede relacionado à segurança que provém acriptografia em sessões de comunicações em umarede de computadores usando o protocoloSSH. Foi criado com umcódigo aberto alternativo ao código proprietário da suíte de softwaresSecure Shell, oferecido pelaSSH Communications Security.[1] OpenSSH foi desenvolvido como parte do projetoOpenBSD, liderado porTheo de Raadt.
O OpenSSH é ocasionalmente confundido com oOpenSSL; entretanto, os projetos têm diferentes soluções para atingir propósitos semelhantes, além de serem desenvolvidos por diferentes desenvolvedores.
A OpenSSH foi criada pela equipe da OpenBSD como uma alternativa ao software originalSSH daTatu Ylönen, que agora é umsoftware proprietário. Os desenvolvedores da OpenSSH clamam que seu programa é mais seguro que o original devido à sua política de produção limpa e o seu códigoauditado. A palavraopen no nome se refere ao quê ele foi baseado nocódigo aberto daLicença BSD. Embora ocódigo fonte esteja disponível para o SSH original, várias restrições são impostas sobre o seu uso e distribuição.
O OpenSSH apareceu pela primeira vez no OpenBSD 2.6 e sua primeira versão portável foi feita em outubro de1999.[2] O OpenSSH 4.5 foi liberado em 8 de novembro de2006.[3]
OpenSSH inclui a habilidade deredirecionamento de portas remotas porTCP em umtúnel seguro. Isto é usado no sistema multiplex (dispositivo de rede que permite que dois ou mais sinais sejam enviados por um circuito de comunicação e compartilhem o percurso de transmissão) via conexões TCP em uma única conexão ssh, conexões ocultas, e os protocolos criptografados de outra forma ficariam sem segurança, "driblando" firewalls. UmtúnelX Window System pode ser criado automaticamente quando usando o OpenSSH para conectar um host remoto, enquanto outros protocolos, tais como ohttp eVNC, podem se transferir facilmente.
Além disso, alguns softwares de terceiros incluem suporte para o tunelamento SSH. Eles incluemDistCC,CVS,rsync, efetchmail. Em algunssistemas operacionais,sistemas de arquivos remotos podem ser montados (unix) em SSH, usando ferramentas como shfs,[4] lufs,[5] e podfuk.[6]
Um servidorproxy especialmente paraSOCKS pode ser criado usando o OpenSSH. Isto permite mais flexibilidade proxying do que é possível numa porta de encaminhamento. Por exemplo, usando apenas o comando:
ssh -D1080 user@example.com
Um servidor local SOCKS é estabelecido que escuta no "localhost:1080" e encaminha todo o tráfego via o host "example.com".
Começando pela versão 4.3, a OpenSSH implementou umalayer (camada)OSI 2/3, baseada emtunVPN. Ela é a mais flexível com relação às capacidades de tunelamento do OpenSSH, permitindo que aplicações acessem transparentemente os recursos da rede remota sem modificar o uso dos SOCKS.