본문 바로가기

Etc.

[Jupyter] notebook / lab 외부에서 접속 하기

Jupyter server와 다른 컴퓨터에서 작업을 하기 위해 외부에서 접속이 가능하도록 세팅해보자

 

현재 내가 사용하는 OS는 macOS Monterey 12.3.1 이다. (OS별 세팅법은 다르지 않지만 혹시나..)

 

jupyter 설정을 변경할 수 있는 파일을 생성한다. (notebook / lab 명령어가 다르니 사용하는 환경에 맞게 실행하자)

jupyter-lab --generate-config
jupyter notebook --generate-config

 

명령어를 실행하면 다음과 같이 파일의 경로가 나오게 된다.

 

해당 파일을 원하는 편집기로 연 뒤, 값을 찾아서 다음과 같이 변경 해준다. (나는 vim을 이용해 편집했다)

 

  • jupyter notebook의 경우 ServerApp이 아닌 NotebookApp이므로 참고할 것!
  • 변경한 값은 앞에 '#'를 반드시 제거해야 바뀐 설정이 적용된다!
vim /Users/jslee/.jupyter/jupyter_lab_config.py
c.ServerApp.password = ''  # 비밀번호 추가

c.ServerApp.password_required = True  # 비밀번호를 사용할 것이므로 True

c.ServerApp.port = 8888  # 원하는 포트 번호로 변경

c.ServerApp.ip = '0.0.0.0'  # 모든 아이피에서 접속 가능
  • 비밀번호 추가는 왠만해선 하는 것을 추천한다. 설정하지 않으면 토큰값으로 연결해야 하는데 매 번 연결할 때마다 토큰 값이 변한다.
  • 서버 컴퓨터의 아이피를 매 번 변경하지 않으려면 고정 아이피 설정을 추천한다.

 

비밀번호 추가하는 방법

python을 실행한뒤 다음 코드를 실행한다.

from notebook.auth import passwd
passwd()

 

그러면 다음과 같은 화면을 볼 수 있다.

  • Enter password: 로그인에 사용할 비밀번호를 입력한다.
  • Verify password: 비밀번호를 한 번 더 입력한다.

 

비밀번호를 입력하고 나면 문자열이 하나 등장하는데 이를 복사한 후 비밀번호를 설정했던 값에 붙여넣는다.

(비밀번호를 1234로 설정했을 경우 다음과 같은 문자열이 등장한다)

c.ServerApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$GVvOh2bjGW1QnycZ7uiyIQ$9yVsmKqC1aqqraWuL4dHVg'