Primeiramente, sinto que estou lendo sua pergunta incorretamente. Eu entendo como dizendo que você só tem permissão de tráfego de saída na porta 80. Isso significa para mim que você precisa se comunicar da porta 80 para a porta 22 dos servidores. Felizmente, isso é completamente possível usando backpipes e netcat. Aqui está o processo:
Primeiro, crie seu backpipe:
# mknod backpipe p
Em seguida, faça um ouvinte de netcat que conecte seu backpipe e envie as informações para fora da porta de sua escolha (80), para uma porta de sua escolha (22):
# nc -l -p 222 0<backpipe | nc -p 80 SERVERIP 22 | tee backpipe
Por fim, conecte-se à sua porta de escuta!
# ssh [email protected] -p 222
Aqui está um resumo da linha de backpipe para os curiosos:
nc -l -p 222 0<backpipe
Isto configura um ouvinte de netcat que escuta na porta 222 (você pode mudar isso para qualquer porta que você quiser, eu acabei de escolher 222) e envia todos os dados para o seu backpipe.
nc -p 80 SERVERIP 22
Isso define uma porta de origem de 80 para a porta SERVERIP 22. Essa é a conexão que o OP queria em sua postagem, mas queremos transferir uma conexão SSH por meio disso, portanto, a necessidade de um backpipe.
tee backpipe
Isso envia seu STDOUT para o backpipe e também para o seu terminal. Se você não quiser ver os dados, poderá substituí-los por esta linha:
# nc -l -p 222 0<backpipe | nc -p 80 SERVERIP 22 1> backpipe