반응형

요즘 딥러닝 프로그램을 돌리는 컴퓨터가 있는 사무실에 계속 있기 어려운 환경에 있습니다. 그래서, 외부에서 컴퓨터를 온오프할 수 있도록 공유기 원격접속과 컴퓨터 WOL 기능을 켜두었습니다.

그리고 가장 많이 사용하고 있는 jupyter notebook을 원격지에서 사용할 수 있도록 세팅하였습니다.

1. 방화벽 해제 : 먼저 우분투 포트 방화벽 해제 및 공유기 포트포워드 설정을 합니다.
>> sudo ufw allow 8888(jupyter notebook의 기본포트로 원하시는 포트로 변경 가능)

2. jupyter notebook 암호 설정
로컬에서만 사용할 경우에는 보통 암호 설정 없이, 토큰을 이용해 접근했었습니다. 그렇지만 원격 접속은 보안을 위해 암호를 설정하는 것이 더 편하고 좋습니다. 
jupyter 서버 기본 설정을 위한 jupyter_notebook_config.py을 만들고, 패스워드를 설정합니다.
>> jupyter notebook --generate-config
Writing default config to: /{MyPath}/.jupyter/jupyter_notebook_config.py

>> jupyter notebook password
Enter password : ****
Verify password : ****
[NotebookPasswordApp] Wrote hashed password to /{Mypath}/.jupyter/jupyter_notebook_config.json

반응형

3. jupyter notebook 설정 파일 수정
nano ~/.jupyter/jupyter_notebook_config.py
수정할 코드를 ctrl+w(검색)를 사용해 찾은 후, 수정합니다.

c.NotebookApp.allow_origin = '*'  # 외부 접속을 허용합니다.
c.NotebookApp.notebook_dir = '작업 절대경로' # 작업경로를 설정합니다.
c.NotebookApp.ip = '*' # 외부 접속 포트 전체 오픈. 보안을 위해 특정 IP만 열어두셔도 됩니다.
c.NotebookApp.port = '8888' # 외부접속 사용 포트를 설정합니다.
c.NotebookApp.password = '<해시화된 패스워드 입력>' # 암호설정시 만들어진 jupyter_notebook_config.json을 nano등으로 열면 해시화된 패스워드를 확인할 수 있습니다.
c.NotebookApp.password_required = True # 비밀번호를 요구하도록 합니다.
c.NotebookApp.open_browser = False # 서버 pc에서 자동으로 브라우저가 열리지 않도록 합니다.

4. 서버 실행
>> jupyter notebook
이제 외부에서 접속하시면 됩니다. 공유기에서 ddns를 설정한 경우, ddns:포트번호(여기선 8888)을 주소창에 입력하면 접속할 수 있습니다. 
그 다음 설정한 비밀번호를 입력하면 로그인이 됩니다.

반응형

+ Recent posts