연구실

학교 서버(포트가 제한된 환경)에서 jupyter notebook 실행한 후 코랩으로 접속하기

sw.kim 2025. 2. 1. 21:43

하.. 코랩 쓰다보면 자꾸 시간 제한 걸려서 꺼지는데, 학교 서버로 하자니 jupyter notebook을 위해 새로운 포트를 신청하고 할당받고 포트포워딩까지 해줘야하는 귀찮음(무엇보다 지도교수님 승인을 받아야하는 개 큰 번거로움)이 있었다..

​

그래서 이것저것 찾아보고, colab에서 공식으로 제공하는 방법을 사용해보려고 했으나

  1. 자기들 서비스(구글 인스턴스 뭐시기)를 위한 설명이었기에 나 같은 경우에 대해 개 불친절한 설명
  2. mac에서는 jupyter를 설치하여도 command에서 jupyter가 바로 호환되지 않음..

등등의 또 다른 귀찮음과 마주쳤다.. 하..

​

아무튼 어찌저찌 해결하고 나중에 호오옥시나 다시 쓰게 될까 싶어 내용을 정리한다.

 

 


 

 

1. 서버 접속 후 서버에서

jupyter notebook \
    —NotebookApp.allow_origin='https://colab.research.google.com' \
    —port=8888 \
    —NotebookApp.port_retries=0

실행.

당연하지만 서버에 jupyter는 미리 설치해둬야 한다. 그리고 여기서

 

http://127.0.0.1:8888/tree?token=309000d7546c700ff61c9a20575f2733f68e152598d

 

이런식으로 토큰이 나오는데, 이 토큰을 잘 기억해둬야한다.

귀찮으면 위의 명령어 중간에 --NotebookApp.token='쓰고싶은토큰' 을 추가하여 기록해둬도 된다.

​

2. 로컬(내 경우 맥북)에서 로컬에서 ssh -N -L 9000(쓰고싶은 로컬 포트 하나):localhost:8888 (server id)@(서버 ip) -p (서버를 접속하기 위한 port)를 실행하여, 로컬 포트와 서버를 포워딩한다.

내 경우 다음과 비슷하게 명령어를 사용했다.

$ ssh -N -L 9000:localhost:8888 seon@103.155.188.6 -p 22

​

3. 그 후

http://localhost:9000/?token=309000d7546c700ff61c9a20575f2733f68e152598d

처럼 포워딩한 포트와 토큰으로 jupyter notebook에 접속하면 된다.

코랩을 사용한다면 로컬 런타임에 연결을 누른 후 같은 주소를 넣어주면 된다.