Configurar um túnel de encaminhamento na máquina local
autossh -f -N -L 0.0.0.0:8000:localhost:8000 username@remotebox
0.0.0.0:8000
é o que o IntelliJ conectará, ele achará que o aplicativo da Web está sendo executado na máquina local, ligado a todas as interfaces locais e sendo executado na porta 8000.
localhost:8000
é onde o túnel se conectará, no contexto da caixa de controle. localhost
não é mais o localhost
em que você está trabalhando, mas a interface localhost
dentro da máquina do remotebox. Lá ele se conectará à porta 8000, que efetivamente é seu aplicativo da web, a partir do contexto do usuário username
.
autossh
é um wrapper para ssh
que se encarrega de se reconectar automaticamente caso a conexão caia.
Se você estiver usando uma porta não padrão para ssh no remotebox, use o parâmetro -P <PORT>
para se conectar a ele.
Essa resposta vale a pena, se acima, não fizer o que você quer: link
De lá, eu acabei de explicar o primeiro diagrama. Prefixei a porta local com a interface 0.0.0.0
, acho que o padrão é localhost
quando você omitir, o que você pode fazer se quiser. Pode ser mais seguro remover a parte 0.0.0.0:
, porque se localhost
for o padrão, ninguém na sua rede poderá usar sua máquina para usar esse túnel ssh. Mais para eles, 192.168.10.10:8000
seria um ponto de entrada para o aplicativo da web remoto se 192.168.10.10
fosse o IP da máquina em que você está trabalhando.