Eu sou um fã crescente de mosh e estou usando cada vez mais quando tenho links wifi não confiáveis. O que estou tentando descobrir é como criar um túnel através de um servidor que esteja em uma DMZ (conectada à Internet e à rede com firewall).
Minha solução atual com o ssh é editar .ssh / config para incluir linhas como:
Host server-behind-firewall
ProxyCommand ssh server-in-dmz nc %h %p
Eu também descobri como posso usar o ssh para fazer uma perna e mostrar a outra:
ssh -t server-in-dmz mosh server-behind-firewall
Entre server-in-dmz e server-behind-firewall, eu montei uma sessão mosh usando a tela.
Mas o que eu realmente gostaria de usar apenas mosh de ponta a ponta. Eu acho que teria que montar o server-in-dmz para ter um servidor mosh escutando. Mas a página de manual do mosh-server diz "Ele será encerrado se nenhum cliente entrar em contato com ele dentro de 60 segundos".
Em resumo, a questão é: como construir um túnel mosh com vários hosts?
Respostas:
Você pode tentar o stone , que é um repetidor de pacotes TCP e UDP. O que isso significa essencialmente é que você pode ter a seguinte configuração:
Você <---> apedreja no server-in-dmz <---> server-behind-firewall
Em outras palavras, faça com que o servidor em dmz atenda na porta X os pacotes SSH a serem encaminhados para o servidor atrás do firewall e também outra porta, a porta Y, para os pacotes UDP que encaminham para a porta 60000 no servidor atrás do firewall para mosh-server.
Você precisará se conectar ao mosh usando o seguinte comando:
fonte
Em vez de encaminhar o tráfego na camada de aplicativo, conforme sugerido por @Hengjie, você também pode usar o iptables (no server-in-dmz):
Então, você se conecta usando
mosh -p 60159 --ssh='ssh -p 11559' server-in-dmz
Nota:
fonte