Uno de los beneficios de iniciar sesión en un servidor con reenvío de puertos es facilitar el uso de Jupyter Notebook. Este enlace proporciona una excelente descripción de cómo hacerlo. Aquí me gustaría hacer un resumen y una expansión para que todos ustedes se refieran.
Situación 1. Inicie sesión desde una máquina local llamada Host-A (por ejemplo, su propia computadora portátil) a una máquina de trabajo remota llamada Host-B.
ssh user@Host-B -L port_A:localhost:port_B
jupyter notebook --NotebookApp.token='' --no-browser --port=port_B
Luego puede abrir un navegador e ingresar: http: // localhost: port_A / para hacer su trabajo en el Host-B pero verlo en el Host-A.
Situación 2. Inicie sesión desde una máquina local llamada Host-A (por ejemplo, su propia computadora portátil) a una máquina de inicio de sesión remota llamada Host-B y desde allí inicie sesión en la máquina de trabajo remota llamada Host-C. Este suele ser el caso de la mayoría de los servidores analíticos dentro de las universidades y se puede lograr utilizando dos ssh -L
conectados con -t
.
ssh -L port_A:localhost:port_B user@Host-B -t ssh -L port_B:localhost:port_C user@Host-C
jupyter notebook --NotebookApp.token='' --no-browser --port=port_C
Luego puede abrir un navegador e ingresar: http: // localhost: port_A / para hacer su trabajo en el Host-C pero verlo en el Host-A.
Situación 3. Inicie sesión desde una máquina local llamada Host-A (por ejemplo, su propia computadora portátil) a una máquina de inicio de sesión remota llamada Host-B y desde allí inicie sesión en la máquina de trabajo remota llamada Host-C y finalmente inicie sesión en la máquina de trabajo remota Host- RE. Este no suele ser el caso, pero puede suceder en algún momento. Es una extensión de la Situación 2 y la misma lógica se puede aplicar en más máquinas.
ssh -L port_A:localhost:port_B user@Host-B -t ssh -L port_B:localhost:port_C user@Host-C -t ssh -L port_C:localhost:port_D user@Host-D
jupyter notebook --NotebookApp.token='' --no-browser --port=port_D
Luego puede abrir un navegador e ingresar: http: // localhost: port_A / para hacer su trabajo en Host-D pero verlo en Host-A.
Tenga en cuenta que port_A, port_B, port_C, port_D pueden ser números aleatorios, excepto los números de puerto comunes que se enumeran aquí . En la situación 1, port_A y port_B pueden ser iguales para simplificar el procedimiento.