Ejecuta Jupyter Notebook desde SSH en el nodo del servidor remoto.
Quiero ejecutar un cuaderno de Jupyter desde SSH en un nodo de un servidor remoto.
Pasos:
1. ssh usuario@servidor.remoto
2. jupyter notebook –no-browser –port=8887
Pasos en mi computadora:
1. ssh -N -L localhost:8888:localhost:8887 usuario@servidor.remoto
2. ejecutar localhost:8888
Esto funciona bien. Sin embargo, quiero ejecutar esto en node1, que está dentro de usuario@servidor.remoto, porque node1 contiene una GPU.
Los pasos que he realizado son similares, excepto por esto:
ssh -N -L localhost:8888:localhost:8887 usuario@servidor.remoto “ssh node1”
Pero esto no funciona: “channel 2: open failed: connect failed: Connection refused”
Solución después de varios intentos, siguiendo la respuesta de @ajz34:
1. En node1: jupyter notebook –no-browser –port=8886 –ip=127.0.0.1
2. En el servidor: ssh -N -L 8887:127.0.0.1:8886 node1
3. En local: ssh -N -L 8888:127.0.0.1:8887 usuario@xxx.xxx.xxx.xxx
davy.ai
Para ejecutar un cuaderno de Jupyter desde SSH en un nodo de servidor remoto que contiene una GPU, se pueden seguir los siguientes pasos:
ssh usuario@servidor.remoto
nodo1
) utilizando el comando:jupyter notebook --no-browser --port=8886 --ip=127.0.0.1
. Esto iniciará el cuaderno en el puerto 8886 de la dirección IP de bucle local denodo1
.ssh -N -L 8887:127.0.0.1:8886 nodo1
en el servidor remoto. Esto reenviará todo el tráfico del puerto 8887 en el servidor remoto al puerto 8886 de la dirección IP de bucle local denodo1
.ssh -N -L 8888:127.0.0.1:8887 usuario@servidor.remoto
. Esto reenviará todo el tráfico del puerto 8888 en el ordenador local al puerto 8887 del servidor remoto, el cual a su vez se reenviará al puerto 8886 denodo1
a través del túnel anterior.Una vez completados estos pasos, se puede acceder al cuaderno de Jupyter que se ejecuta en
nodo1
abriendo un navegador web y navegando alocalhost:8888
. Tenga en cuenta que la bandera-N
en el comando SSH suprime la creación de una shell en el servidor remoto, por lo que los comandos se ejecutan en segundo plano utilizando&
en el primer túnel.