Etc.

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

ssun-g 2022. 6. 30. 19:55
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'