태그 보관물: notebook

jupyter server 보안 설정하기

Published / by greennuri

jupyter Notebook 서버를 올렸는 아무나 접근하게 하고 싶지 않을때 다음과 같이 설정한다.

jupyter notebook --generate-config
위 코드를 실행 시키면
/home/jupyter/.jupyter/jupyter_notebook_config.py 파일이 생긴다.
위 파일에서 아래와 같은 항목을 아래와 같이 설정한다.

c.NotebookApp.ip = '0.0.0.0'
위 코드는 외부 접속이 가능하게 허용하는 설정

c.NotebookApp.port = 8888
위 코드는 접속 포트 설정, 방화벽이나 기타 이유로 바꿔야 할시 위 값을 바꾸면 됨.

c.NotebookApp.open_browser = False
위 코드는 주피터를 실행할때 브라우저를 열지 않게 하는 설정
c.NotebookApp.notebook_dir = "/path/to/ipython"
위 코드는 주피터 작업 디렉토리를 설정
c.NotebookApp.password = u'password'
위 코드는 주피터 접속시 암호를 입력받게 하는 설정, 당연히 설정된 암호와 맞아야 ^^

c.NotebookApp.keyfile = '/home/jupyter/.ssh/mykey.key'
c.NotebookApp.certfile = '/home/jupyter/.ssh/mycert.pem'
위 두개 코드는 ssl 설정에서 나온 암호파일로 이 설정이 셋팅 되면
http://ip:8888이 아니고 https://ip:8888로 접속해야 한다.

openssl로 암호화 설정은 다음과 같이 수행
$openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem

위 명령을 배쉬 쉘에서 실행하면 365일 동안 쓸수 있는 인증서 생성

jupyter ubuntu linux daemon으로 설정하기

Published / by greennuri

ubuntu에서 jupyter daemon으로 설정하기

다음과 같은 방식으로 서비스 설정 파일을 작성한다.

위치 : /etc/systemd/system/
파일명 : ipython-notebook.service

내용

  • Unit
  • type=simple
  • PIDFile=/var/run/ipython-notebook.pid
  • ExecStart=/usr/bin/ipython notebook –no-brower
  • User=ipynb
  • Group=ipynb
  • WorkingDirectory=/home/ipynb/notebooks
  • Install
  • WantedBy=multi-user.target

위의 설정 파일에서는 서비스를 돌리는 계정과 그룹을 ipynb로 정의 하고 있다. 그러므로 계정을 추가 해야 한다

  • useradd ipynb
  • su – ipynb
    cd $IPYNB HOME ipynb로 계정 전환후 ipython 홈 디렉토리로 이동한다.
    systemctl daemon-reload
    systemctl enable ipython-notebook
    systemctl start ipython-notebook

위와 같이 설정하면 동작하는데 다음과 같은 오류가 발생할수 있다.
OSError: [Errno 13] Permission denied: '/run/user/1000/jupyter'

외와 같은 오류가 발생시 XDG_RUNTIME_DIR 값을 설정해재 하면 처리 됨. 관련 깃허브 이슈

그외에 다른 링크 공유