Eu acho que você precisa de uma máquina externa, acessível onde você pode ssh para fazer o link. Eu usei um aplicativo para iPad que permitia isso para máquinas Windows usando os servidores do Google; Eu tentei encontrar / adaptar a solução para encaminhar uma conexão VNC para meus desktops linux sem sucesso.
Se você tem uma máquina externa onde você pode fazer ssh , você pode fazer um túnel reverso; suponha que você tenha a máquina oculta chamada "hidden", executando o daemon ssh e a máquina externa chamada "hub", também executando o daemon ssh; você pode em hidden do (isso deve estar em um script iniciado automaticamente, verificando falhas e reiniciando, etc.)
ssh -e none -R 2222:localhost:22 hub
e, em seguida, conectando-se a hub com
ssh hub -p 2222
sua conexão será tunelada para hidden . Você pode alterar a porta 22 para 5900 para encaminhar, por exemplo, conexões VNC (Desktop).
Obviamente, você precisa alcançar hub --- sua porta 2222 deve ser aberta. Caso contrário, se hub tiver apenas a porta 22 (ssh padrão) aberta, você poderá ssh em hub e lá
ssh localhost -p 2222
e você é novamente encaminhado para hidden .