sudo apt-get update
sudo apt-get install python3-pip
sudo pip install notebook
위 코드로 주피터노트북 설치
서버 외부에서 서버에 접속할 수 있게 되었다.
아무나 접속하면 안되서, 주피터 노트북 비밀번호 설정
python3
from notebook.auth import passwd
를 진행하니 오류가 나왔다. 쥬피터 버전이 달라져서 아래와 같이 코드를 작성해야한다.
python
from jupyter_server.auth import passwd
passwd()

나온 argon2 값을 메모장에 잠시 넣어두고 exit()로 나온다.
jupyter notebook --generate-config

sudo vi /home/ubuntu/.jupyter/jupyter_notebook_config.py
에 들어와서, 아래 사진의 형태로 작성. password = u' '여기 작은 따옴표에는 메모장에 복사해놓은 해시값넣어주기. -> :wq! 나오기

그 밑에 c.NotebookApp.notebook_dir = '/' 도 추가해주기
주피터노트북 루트권한으로 실행하기
sudo jupyter-notebook --allow-root
주피터 서버 열림

보안그룹에 가기

인바운드 규칙에 포트 8888 추가하고 누구나 들어올 수 있게, 설정

나는 크롬이나, 엣지 등 안열린다..
우선 8888포트는 정상적으로 작동중이니, 방화벽 문제로 보고 계속진행한다.
현재 주피터 환경에서 ctrl + z를 눌러서 우분투환경으로 나오고,
bg
disown -h
sudo netstat -nap | grep 8888
을 진행해보니, netstat가 설치되어 있지 않아, 아래코드로 설치한다.
sudo apt install net-tools

저는 8888포트를 통해 주피터 노트북으로 진행하기 어렵다고 생각하여 모바엑스텀으로 HTTPS설정을 진행하려고한다.
사설인증서를 만들 수 있다.
인증서의 유효기간 365일
rsa알고리즘을 이용, 공개키 기반 구조
개인키 cert.key , 공개키 cert.pem
저는 aws에서 권장한 2048로 진행했습니다 2번째 코드
sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout "cert.key" -out "cert.pem" -batch
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout "mykey.key" -out "mycert.pem"

입력 후 생성된다.
개인키인 mykey.key는 어디에서도 노출되면 안된다.
재부팅 후에도 실행되게끔 하는 법
which jupyter-notebook
sudo vi /etc/systemd/system/jupyter.service

sudo systemctl daemon-reload
sudo systemctl enable jupyter
sudo systemctl start jupyter
sudo systemctl status jupyter