커리어 (수치모델, 인공지능, 파도, 해양 등)/인공지능

[Jupyter Notebook] 외부에서의 Webpage 접근 방법

바다와 별과 시 2025. 3. 17. 17:53

[Jupyter Notebook]: 외부에서의 Webpage 접근 방법

[ 본 게시글의 작성 계기 ]

  • 필자가 속해 있는 직장에서는 직원 복지 차원에서(?), 인공지능 등의 활용 연구를 위한, GPU 서버를 공용으로 이용할 수 있도록 제공하고 있었음
  • 그리고 JupyterHub(Jupyter Notebook)와 함께 제공되고 있어 나름 편리하게 이용하고 있었는데, 어느 날 불행히도 JupyterHub(Jupyter Notebook) 서비스 종료 예정 소식을 접하게 되었음  
  • 하지만, ‘하늘이 무너져도 솟아날 구멍은 있다!’ 라는 지혜로운 옛 선조들의 말이 있듯이 기존 JupyterHub를 거치지 않더라도 외부에서 직장 공용 GPU 서버를 Jupyter Notebook을 이용하여 활용할 수 있는 방법이 있어 본 게시글을 작성하게 되었음(feat. ssh, and check_ports.j)

[ SSH 또는 Xshell을 이용한 서버 접속 ]

  • 먼저, SSH, 또는 Xshell 등 원격지(본 게시글의 경우 직장 공용 GPU 서버 주소)에 접속하기 위한 네트워크 프로토콜을 이용하여 원격지 주소에 접속함
  • 아래와 같은 명령어를 이용할 수도 있음
    • ssh 사용자아이디@XXX.XXX.XXX.XXX(ip주소)

[ 사용 가능한 포트(port) 번호 확인 ]

  • 서버에 로그인 후 터미널에서 다음 명령어를 실행
    • check_ports.j
  • 이 명령어를 실행하면 사용 가능한 포트 번호가 나옴

 

[ 서버에서 Jupyter Notebook 실행하기 ]

  • 명령어를 입력해 Jupyter Notebook을 실행
  • 아래에서 [8881]은 예시이며, check_ports.j 과정에서 확인된 포트번호를 적어야 함
    • jupyter notebook --no-browser --port=8881
  • 처음 실행하면 화면에 아래와 같이 접속 가능한 URL이 표시됨
    • http://localhost:8881/?token=abcd1234efgh5678
  • 위 주소를 복사하여 인터넷 브라우저(예: 엣지, 크롬 등) 주소창에 붙여넣기 후 엔터(접속)
  • 위 주소에서 [token=abcd1234efgh5678]은 예시이며, 해당 부분은 복사해서 메모장에 잘 저장해 둘 필요가 있음

[ 기타: 터널링 과정 ]

  • SSH 또는 Xshell의 터널링 기능을 이용해 내 컴퓨터의 웹브라우저에서 GPU 서버의 Jupyter Notebook에 접속하도록 연결해줘야 할 수도 있음
    • [파일] [속성] [연결] [SSH] [터널링]
  • 터널링 창에서 아래와 같이 설정을 추가함
    • 유형: 로컬(발신)
    • 소스 호스트: (빈칸 그대로 둠)
    • 소스 포트: 아까 확인했던 포트 번호(: 8881)
    • 대상 호스트: localhost
    • 대상 포트: 아까 확인했던 포트 번호(: 8881)
  • 확인 클릭하여 저장한 뒤, Xshell을 통해 다시 서버에 접속 후 이용
  • 끝.

 본 게시글은 관리자의 학습과 복습을 위한 것으로, 독자의 의견 제시, 피드백 등 보다 올바른 정보를 통해 언제든지 업데이트될 수 있음

 

[자료 출처]

없음

이미지

  • 사용자 작업 환경 캡쳐