Jedną z zalet logowania do serwera z przekierowaniem portów jest ułatwienie korzystania z Jupyter Notebook. Ten link zawiera doskonały opis, jak to zrobić. Chciałbym tutaj zrobić podsumowanie i rozwinięcie, abyście wszyscy mogli się odnieść.
Sytuacja 1. Zaloguj się z lokalnego komputera o nazwie Host-A (np. Własnego laptopa) do zdalnej maszyny roboczej o nazwie Host-B.
ssh user@Host-B -L port_A:localhost:port_B
jupyter notebook --NotebookApp.token='' --no-browser --port=port_B
Następnie możesz otworzyć przeglądarkę i wpisać: http: // localhost: port_A /, aby wykonać pracę na Host-B, ale zobaczyć to w Host-A.
Sytuacja 2. Zaloguj się z lokalnego komputera o nazwie Host-A (np. Własnego laptopa) do zdalnego komputera logowania o nazwie Host-B i stamtąd zaloguj się do zdalnego komputera roboczego o nazwie Host-C. Zwykle dzieje się tak w przypadku większości serwerów analitycznych na uczelniach i można to osiągnąć za pomocą dwóch ssh -L
połączonych z -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
Następnie możesz otworzyć przeglądarkę i wpisać: http: // localhost: port_A /, aby wykonać pracę na Host-C, ale zobaczyć to w Host-A.
Sytuacja 3. Zaloguj się z lokalnego komputera o nazwie Host-A (np. Własnego laptopa) do zdalnego komputera logowania o nazwie Host-B i stamtąd zaloguj się na zdalnej maszynie o nazwie Host-C i na koniec zaloguj się do zdalnego komputera roboczego Host- RE. Zwykle tak nie jest, ale może się kiedyś zdarzyć. Jest to rozszerzenie sytuacji 2 i tę samą logikę można zastosować na większej liczbie maszyn.
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
Następnie możesz otworzyć przeglądarkę i wpisać: http: // localhost: port_A / aby wykonać pracę na Host-D, ale zobaczyć to w Host-A.
Zauważ, że port_A, port_B, port_C, port_D mogą być liczbami losowymi, z wyjątkiem wspólnych numerów portów wymienionych tutaj . W sytuacji 1 port_A i port_B mogą być takie same, aby uprościć procedurę.