Eu também prefiro ssh por causa da criptografia, mas ' socat ' deve funciona bem para você também.
Eu queria saber se é possível obter o encaminhamento de porta sem ser root ou ssh.
Atualmente eu faço
ssh -L 20080:othermachine:80 localhost
Usando o ssh você pode obter certos benefícios, como criar túneis criptografados, etc. No exemplo acima, eu não faço isso, portanto, usar o ssh parece ser desnecessário. Existe uma maneira mais fácil de fazer isso?
Suponho que não seja tão difícil criar um programa que leia todos os dados em um soquete e os envie para outro e vice-versa. Deve haver alguma ferramenta que faça esse trabalho melhor do que eu posso escrever.
Eu também prefiro ssh por causa da criptografia, mas ' socat ' deve funciona bem para você também.
Você pergunta: Is there an easier way to do this?
A resposta simples seria "não". O SSH faz o que você precisa, e é um programa bem usado, bem conhecido e muito eficiente, com (eu imagino) muito poucos bugs, está disponível em todas as plataformas que você pode imaginar, e é seguro inicializar. Você não afirma que o desempenho é um problema, por isso não vejo uma razão para não usar o SSH pessoalmente.
Se você quiser encaminhar uma porta local para uma porta em uma máquina diferente, precisará de algo que será autenticado nesse host remoto. Isso é SSH. Se você quiser apenas mexer com portas locais, como já foi mencionado, socat
pode ser exatamente o que você está procurando.
Se o que você está fazendo funciona e você não está vendo nenhum problema de desempenho, eu não mudaria nada. Se você não está transferindo grandes quantidades de dados, isso não deve causar muito impacto. E se você estiver, o ssh pode compactar os dados, então você ainda pode estar melhor.
O único problema pode estar na latência. Parece que você está tunelando o tráfego HTTP, por isso deve ser insignificante.
Apenas uma observação rápida, parece que o ncat que vem com o novo nmap 5 pode fazer coisas parecidas como socat: link
Qualquer ferramenta que você use: quando não estiver usando o Windows, você sempre (e somente ) precisará ser executado com privilégios de superusuário ao usar portas privilegiadas ("portas conhecidas") ). Então: ao usar portas até e incluindo 1023.
Tags port-forwarding linux