본문 바로가기
데이터/AWS

[AWS]SSH로 EC2 인스턴스 jupyter notebook 접속하기

by stubborngastropod 2023. 7. 26.
728x90

인스턴스가 이미 있고, 인증키 pem 파일이 있다면 SSH를 통해 인스턴스에 접속할 수 있다.

아무 터미널에서나 가능하지만 이용 편의성을 위해 MobaXterm을 사용하면 좋다.

https://mobaxterm.mobatek.net/download-home-edition.html

 

MobaXterm free Xserver and tabbed SSH client for Windows

The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!

mobaxterm.mobatek.net

나는 오른쪽에 있는 installer edition으로 설치했다.

exe파일로 설치 후 실행하면 mobaXterm이 실행된다.

 

 

여기서 session 탭을 클릭한 후, ssh탭, advanced ssh setting탭을 순서대로 클릭해준다.

 

remote host에는 ubuntu@서버도메인, 그리고 Use private key 체크박스에 체크를 하고 pem키가 있는 곳에서 pem 파일을 등록해주면 된다.

 

 

우분투 방화벽에서 접근 가능한 포트를 관리할 수 있다.

ufw를 이용하며 주로 사용하는 명령어들은 아래와 같다.(옵션이나 명령어는 추가적으로 더 있다)

설치준비: sudo apt update

설치: sudo apt install ufw

방화벽 활성화: sudo ufw enable

포트 열기: sudo ufw allow 포트번호

현재 포트 상태 확인: sudo ufw status

jupyter notebook을 실행하려면 다음과 같이 하면 된다.

 

jupyter notebook 설치

sudo apt install python3-pip

sudo pip --upgrade

sudo pip install jupyter

 

jupyter notebook 설정

jupyter notebook password

-> 비밀번호(브라우저에서 접속할 비밀번호)를 입력하면 해싱된 암호가 jupyter_server_config.json 파일에 저장된다. 따옴표 안의 내용을 복사해두자

 

curl ifconfig.me

-> ip주소가 두개 뜨는데 앞의 주소는 대충 퍼블릭ip, 뒤의 도메인 부분 주소는 대충 로컬ip이다.

 

jupyter notebook --generate-config

-> 생성된 파일에 vi 에디터로 들어가서 아래 내용을 맨 밑에 추가해준다

---

# 추가할 내용

c = get_config()

c.NotebookApp.password = u'아까 복사해 둔 해싱된 암호'
c.NotebookApp.ip = '로컬ip'
c.NotebookApp.notebook_dir = '/'

---

 

jupyter notebook --ip=0.0.0.0 --no-browser

-> jupyter notebook이 실행된다. 이때 연결된 포트가 8888인지 확인한다.

이제 브라우저에 들어가서 주소창에 퍼블릭ip:8888 을 이용해 접속하면 비밀번호 입력창이 떠야 한다. 여기에 브라우저에서 접속할 비밀번호를 입력하면 원격으로 주피터 노트북 사용이 가능해진다

댑악

 

이제 mobaXterm으로 돌아와서 Ctrl + Z로 잠시 노트북을 꺼두고

 

bg

disown -h

 

백그라운드 실행, 소유권 포기 명령어를 연속으로 입력해주면 노트북이 백그라운드 상태에서 항상 실행된다.

 

댑악

 

참고: 동빈나 유튜브(압도적으로 감사합니다)

https://www.youtube.com/watch?v=LoYpXoBJPMc&t=288s 

 

728x90

댓글