[머신러닝] jupyter notebook 원격 서버 설정

Updated:

우분투 pc에서 작업 중인 jupyter notebook 프로젝트를 외부 pc에서도 작업하고 싶을 때!
터미널을 열어 다음과 같은 설정을 해주면 된다.

1. 우분투 포트 방화벽 해제

sudo ufw allow 8888

원격 접속 시 사용할 포트(ex. 8888) 방화벽 해제

2. jupyter notebook 환경 설정(config 파일 만들기)

jupyter notebook --generate-config

/home/사용자/.jupyter 디렉터리에 config 파일이 생성된다.

3. 서버 암호 생성

ipython
from notebook.auth import passwd
passwd()

passwd()까지 치고 나면,

Enter password:

가 뜨는데 그러면 원격 서버 접속 시 사용할 비밀번호를 입력하고 엔터 키 누르면 된다.
참고로 터미널 상에는 입력 중인 비밀번호가 표시되지 않는다.

Verify password:

위에서 설정한 비밀번호를 한 번 더 입력한다. 입력하고 엔터 치면 작은따옴표 안에 암호화된 비밀번호가 출력되는데, 이 비밀번호를 미리 복사해둔다. (뒤에서 사용)

4. 서버 환경설정

vi ~/.jupyter/jupyter_notebook_config.py

수정할 코드의 ‘#’을 지워서 주석을 해제한다.

c.NotebookApp.allow_origin = '*'  # 외부 접속 허용
c.NotebookApp.notebook_dir = '작업경로'  # 작업경로 설정. 절대경로로 입력해야 함
c.NotebookApp.ip = 'ip주소'  # 외부 접속 시 사용할 ip 설정
c.NotebookApp.port = '8888'  # 외부 접속 시 사용할 포트 설정. 기본값 8888
c.NotebookApp.password = 아까 복사해둔 비밀번호  # 비밀번호 설정
c.NotebookApp.password_required = True  # 비밀번호 요구
c.NotebookApp.open_browser = False  # 서버pc에서 브라우저 자동으로 안 열리도록 설정

5. 서버 실행

jupyter notebook

이제 외부 pc에서 브라우저를 열어 ip주소:포트번호를 주소창에 치면 접속됨!
나는 password_required=True로 설정해놔서 비밀번호 치는 창이 먼저 나왔다.
그럼 위에서 내가 설정했던 비밀번호를 치면 로그인이 되며 작업 경로로 접속된다.



Leave a comment