포트 포워딩을 사용하여 서버에 로그인 할 때의 이점 중 하나는 Jupyter Notebook을 쉽게 사용할 수 있다는 것입니다. 이 링크 는 그 방법에 대한 훌륭한 설명을 제공합니다. 여기에 여러분 모두가 참고할 수 있도록 요약과 확장을하고 싶습니다.
상황 1. Host-A라는 로컬 컴퓨터 (예 : 자신의 랩톱)에서 Host-B라는 원격 작업 컴퓨터에 로그인합니다.
ssh user@Host-B -L port_A:localhost:port_B
jupyter notebook --NotebookApp.token='' --no-browser --port=port_B
그런 다음 브라우저를 열고 http : // localhost : port_A / 를 입력 하여 Host-B에서 작업을 수행하지만 Host-A에서 볼 수 있습니다.
상황 2. Host-A라는 로컬 시스템 (예 : 자신의 랩톱)에서 Host-B라는 원격 로그인 시스템에 로그인하고 거기에서 Host-C라는 원격 작업 시스템에 로그인합니다. 이는 일반적으로 대학 내 대부분의 분석 서버에 해당 ssh -L
하며 -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
그런 다음 브라우저를 열고 http : // localhost : port_A / 를 입력 하여 Host-C에서 작업을 수행하지만 Host-A에서 볼 수 있습니다.
상황 3. Host-A라는 로컬 시스템 (예 : 자신의 랩톱)에서 Host-B라는 원격 로그인 시스템에 로그인하고 거기에서 Host-C라는 원격 작업 시스템에 로그인하고 마지막으로 원격 작업 시스템 Host-에 로그인합니다. 디. 이것은 보통은 아니지만 언젠가 발생할 수 있습니다. 상황 2의 확장이며 동일한 논리를 더 많은 컴퓨터에 적용 할 수 있습니다.
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
그런 다음 브라우저를 열고 http : // localhost : port_A / 를 입력 하여 Host-D에서 작업을 수행하지만 Host-A에서 볼 수 있습니다.
port_A, port_B, port_C, port_D는 여기에 나열된 일반적인 포트 번호를 제외하고 난수 일 수 있습니다 . 상황 1에서 port_A와 port_B는 절차를 단순화하기 위해 동일 할 수 있습니다.