SSH 접속 후 Jupyter 사용하기
SSH 접속 후 jupyter 사용
Anaconda Navigator 없이 SSH 클라이언트(Windows에서는 PuTTY 또는 MobaXterm, macOS에서는 Terminal)를 사용하여 원격 서버에서 Jupyter Notebook 및 JupyterLab을 실행하는 방법을 보다 체계적으로 정리한 예시입니다. 미리 miniconda가 설치되어 있지 않다면 아래 링크를 참고하여 먼저 설치하시기 바랍니다. 추가적으로 conda 가상환경에 jupyter 라이브러리 설치가 되어 있어야 합니다.
Prerequisite
Jupyter Notebook & Jupyter Lab이란?
Jupyter Notebook과 JupyterLab은 데이터 과학, 머신러닝, 연구 등 다양한 분야에서 널리 사용하는 인터랙티브 개발 환경입니다. 터미널을 통해 실행할 수 있으며, 브라우저를 통해 접속하여 작업할 수 있습니다.
기본 실행 방법
서버에 SSH로 접속한 후, 터미널에서 아래 명령어를 입력하면 Jupyter Notebook 또는 JupyterLab을 실행할 수 있습니다.
# Jupyter Notebook 실행
jupyter notebook
# JupyterLab 실행
jupyter lab
- 주의: 이 방식으로 실행하면 해당 terminal session은 Jupyter 실행 전용이 되며, 다른 명령어를 입력할 수 없습니다.
SSH session 끊김 문제 해결: nohup 사용하기
SSH 클라이언트(예: MobaXterm, PuTTY) 사용 중 네트워크 오류로 세션이 끊길 수 있습니다. 이럴 경우, nohup 명령어를 사용하면 SSH 세션이 종료되어도 Jupyter Notebook 또는 JupyterLab이 계속 실행됩니다.
# 백그라운드에서 Jupyter Notebook 실행
nohup jupyter notebook &
# 백그라운드에서 JupyterLab 실행
nohup jupyter lab &
이렇게 실행하면 터미널을 다른 작업에 자유롭게 사용할 수 있고, SSH 접속이 끊겨도 서버에서 실행 중인 Jupyter 세션은 유지됩니다.
실행 중인 Jupyter 서버 확인
실행 중인 Jupyter 서버의 상태와 접속 URL을 확인하려면 아래 명령어를 사용합니다.
# Jupyter Notebook 실행 리스트 확인
jupyter notebook list
# JupyterLab 실행 리스트 확인
jupyter lab list
자주 사용하는 Jupyter 실행 옵션
Jupyter Notebook/Lab을 실행할 때 유용한 옵션들을 사용하면, 보다 상세하게 서버 설정을 조정할 수 있습니다.
-
--ip <주소>- 서버가 수신할 IP address를 지정
- ex)
jupyter notebook --ip 0.0.0.0 - 모든 IP에서 접근 가능하도록 할 경우 사용
-
--port <번호>- Jupyter 서버가 사용할 port를 지정
- ex)
jupyter lab --port 8888 - 기본 port가 충돌하거나, 특정 port를 사용해야 할 때 유용
-
--no-browser- Jupyter 실행 시 기본 웹 브라우저를 자동으로 열지 않음
- SSH 접속 환경에서는 보통 브라우저가 로컬에 설치되어 있지 않으므로 필수 옵션
옵션 조합 사용 예시
nohup jupyter notebook --ip 0.0.0.0 --port 8888 --no-browser &