Một trong những lợi ích của việc đăng nhập vào máy chủ bằng chuyển tiếp cổng là tạo điều kiện cho việc sử dụng Jupyter Notebook. Liên kết này cung cấp một mô tả tuyệt vời về cách nó. Ở đây tôi muốn làm một số tóm tắt và mở rộng cho tất cả các bạn tham khảo.
Tình huống 1. Đăng nhập từ một máy cục bộ có tên Host-A (ví dụ: máy tính xách tay của riêng bạn) vào một máy làm việc từ xa có tên Host-B.
ssh user@Host-B -L port_A:localhost:port_B
jupyter notebook --NotebookApp.token='' --no-browser --port=port_B
Sau đó, bạn có thể mở trình duyệt và nhập: http: // localhost: port_A / để thực hiện công việc của mình trên Host-B nhưng hãy xem nó trong Host-A.
Tình huống 2. Đăng nhập từ một máy cục bộ có tên Host-A (ví dụ: máy tính xách tay của riêng bạn) vào máy đăng nhập từ xa có tên Host-B và từ đó đăng nhập vào máy làm việc từ xa có tên Host-C. Đây thường là trường hợp cho hầu hết các máy chủ phân tích trong các trường đại học và có thể đạt được bằng cách sử dụng hai ssh -L
kết nối với -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
Sau đó, bạn có thể mở trình duyệt và nhập: http: // localhost: port_A / để thực hiện công việc của mình trên Host-C nhưng xem nó trong Host-A.
Tình huống 3. Đăng nhập từ máy cục bộ có tên Host-A (ví dụ: máy tính xách tay của bạn) vào máy đăng nhập từ xa có tên Host-B và từ đó đăng nhập vào máy làm việc từ xa có tên Host-C và cuối cùng đăng nhập vào máy làm việc từ xa Host- D Điều này thường không xảy ra nhưng đôi khi có thể xảy ra. Đây là phần mở rộng của Tình huống 2 và logic tương tự có thể được áp dụng trên nhiều máy hơn.
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
Sau đó, bạn có thể mở trình duyệt và nhập: http: // localhost: port_A / để thực hiện công việc của mình trên Host-D nhưng hãy xem nó trong Host-A.
Lưu ý rằng port_A, port_B, port_C, port_D có thể là các số ngẫu nhiên ngoại trừ các số cổng phổ biến được liệt kê ở đây . Trong Tình huống 1, port_A và port_B có thể giống nhau để đơn giản hóa thủ tục.