Um dos benefícios de fazer login em um servidor com encaminhamento de porta é facilitar o uso do Jupyter Notebook. Este link fornece uma excelente descrição de como fazer isso. Aqui eu gostaria de fazer um resumo e uma expansão para todos vocês referirem.
Situação 1. Efetue login de uma máquina local chamada Host-A (por exemplo, seu próprio laptop) para uma máquina de trabalho remota chamada Host-B.
ssh user@Host-B -L port_A:localhost:port_B
jupyter notebook --NotebookApp.token='' --no-browser --port=port_B
Em seguida, você pode abrir um navegador e inserir: http: // localhost: port_A / para fazer seu trabalho no Host-B, mas vê-lo no Host-A.
Situação 2. Faça login de uma máquina local chamada Host-A (por exemplo, seu próprio laptop) para uma máquina de login remota chamada Host-B e, a partir daí, faça login na máquina de trabalho remota chamada Host-C. Esse é geralmente o caso da maioria dos servidores analíticos dentro das universidades e pode ser obtido usando dois ssh -L
conectados com -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
Em seguida, você pode abrir um navegador e inserir: http: // localhost: port_A / para fazer seu trabalho no Host-C, mas vê-lo no Host-A.
Situação 3. Faça login de uma máquina local chamada Host-A (por exemplo, seu próprio laptop) em uma máquina de login remota chamada Host-B e, a partir daí, faça login na máquina de trabalho remota chamada Host-C e, finalmente, faça o login na máquina de trabalho remota Host- D. Normalmente não é esse o caso, mas pode acontecer algum dia. É uma extensão da Situação 2 e a mesma lógica pode ser aplicada em mais 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
Em seguida, você pode abrir um navegador e inserir: http: // localhost: port_A / para fazer seu trabalho no Host-D, mas vê-lo no Host-A.
Observe que port_A, port_B, port_C, port_D podem ser números aleatórios, exceto os números de porta comuns listados aqui . Na Situação 1, port_A e port_B podem ser iguais para simplificar o procedimento.