Ubuntu에 jupyter notebook 설치 및 웹프라우저로 원격접속 설정
- 설치환경 : linux (Ubuntu 14.04.1)
주의할 점
jupyter가 개인용으로 만들어서 져서, 여러 명이 쓰기에는 부적절하긴 하다. 같은 파일을 동시에 고치거나 하면 서버가 다운될 확률이 다분하니, 굳이 여러 명이 써야할 경우에는 되도록 각자 작업할 수 있도록 하자. 여러 명이 안정적으로 사용하는 환경을 구축하고 싶다면 jupyterHub가 더 적절하니 이를 참고하자.
설치 순서
https://www.continuum.io/downloads#linux 에서 최선 Anaconda download
winSCP를 사용하여 설치파일 전송 (/tmp/Anaconda3-4.2.0-Linux-x86_64.sh)
putty로 접속하여 해당 파일 실행하여 설치 (bash /tmp/Anaconda3-4.2.0-Linux-x86_64.sh)
- yes 혹은 엔터로 쭉쭉 진행
설치 후 재부팅 (reboot)
jupyter notebook –generate-config 실행
mkdir /usr/jupyter 실행 (jupyter notebook의 root폴더 생성)
vim /root/.jupyter/jupyter_notebook_config.py 하여 해당 내용 맨 아랫줄에 추가
123c = get_config()c.NotebookApp.ip = '10.240.35.100' # ip address of the serverc.NotebookApp.port = 8080c.FileContentsManager.root_dir = '/usr/jupyter/'vim /etc/init.d/jupyter 실행, 아래 내용 적고 저장
1jupyter notebookchmod 755 /etc/init.d/jupyter
cd /etc/init.d
sudo update-rc.d /etc/init.d/jupyter defaults
다시 재부팅 (reboot)
보안 키 설정하기
위의 설정대로만 하면 jupyter notebook 접속 시 보안키가 전혀 필요하지 않다. 반면에 비밀번호를 설정해서 보안을 조금 강화하고 싶다면 아래와 같이 설정을 추가하면 된다.
hash key 만들기
ipython을 실행하여 아래 명령을 수행하자.
1$ ipython12from notebook.auth import passwdpasswd()적당한 password를 두 번 치면 아래와 같이 hashed password를 얻을 수 있다.
123Enter password:Verify password:Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'SSL 사용 설정
SSL을 이용하면 브라우저에서 패스워드가 암호화되서 보내지기 때문에 보안이 훨씬 좋아진다. 이를 위해서 self-signed certificate를 생성 하자. OpenSSL을 이용해서 certificate을 생성할 수 있다. 유효기간은 365일이다.1openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pemjupyter_notebook_config.py 에 password 추가
추가할 내용은 아래와 같다. password에는 1.에서 얻은 hashed password를 그대로 넣으면 되며, certiflie에는 2.에서 생성한 .pem 파일을 지정하여 집어넣자. path는 임의대로 넣었으니 자신이 지정한 폴더명을 사용하여 진행하자.
12c.NotebookApp.password = u'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
끝.
Useful Links
https://www.continuum.io/downloads#linux
http://jupyter-notebook.readthedocs.io/en/latest/public_server.html
http://goodtogreate.tistory.com/entry/IPython-Notebook-%EC%84%A4%EC%B9%98%EB%B0%A9%EB%B2%95