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?