Como configurar o túnel ssh para o cluster ipython (ipcluster)

Gostaria de executar um cluster ipython em um servidor acessível por ssh e em algumas outras máquinas, que podem se conectar via ssh. A rede não é confiável.

Tentei configurar o encapsulamento ssh usando o que entendi da documentação sobre ipcontroller e ipengine. No entanto, a única maneira de eu conseguir uma comunicação funcionando é implementando os túneis manualmente. Usando a instrução deJean-Francis Roy primeiro seria necessário consertar todas as portas necessárias

controller-host ~ $ ipcontroller --ip=0.0.0.0 --location=127.0.0.1 --port=10101 \
             --HubFactory.hb=10102,10112 \
             --HubFactory.control=10203,10103 \
             --HubFactory.mux=10204,10104 \
             --HubFactory.task=10205,10105

e então pode-se iniciar manualmente os túneis ssh para as portas fixas acima.

engine-host ~ $ for port in 10101 10102 10112 10103 10104 10105; do\
                    ssh USER@IP_CONTROLLER -f -N -L $port:localhost:$port;\
                done

Enquanto isso funciona, sinto pelos documentos que uma das muitas opções para o ipcontroller ou o ipengine pode fazer isso sem a necessidade de instalação manual da porta. Uma solução bastante viável para mim poderia ser abrir portas fixas para o firewall, pois todos os IPs em nossa rede são fixos e razoavelmente confiáveis.

Como posso instruir os motores a tunelar para o controlador?

questionAnswers(1)

yourAnswerToTheQuestion