본문 바로가기
Python

Ubuntu(우분투) Jupyter notebook 원격 접속

by ahsung 2020. 5. 31.

 

 

고정 ip 혹은 도메인이 없으시다면, 포트포워딩을 통해 연결을 준비해주세요.

https://asung123456.tistory.com/4?category=746927

 

Ubuntu(우분투) ssh server 설치, port forwarding ssh, 홈 desktop으로 ssh server 열기

sudo apt-get update sudo apt-get upgrade sudo apt-get install openssh-server vi /etc/ssh/sshd_config #의 주석처리 부분을 지우고 값을 변경할 수 있음 ex) 위 사진의 커서가 있는 부분에 #을 지우고 Por..

asung123456.tistory.com

 

 

보통 처음 우분투 설치하시고 따로 방화벽을 설정하시지 않으면 모든 포트가 기본적으로 열려있지만,

혹시 포트가 방화벽으로 막혀있으시다면 8888번 방화벽을 열어줍니다. jupyter notebook의 default port입니다.

$ sudo ufw allow 8888

 

jupyter notebook의 config 파일을 생성합니다.

$ jupyter notebook --generate-config

 

~/.jupyter/ 경로에 생성됩니다.

 

config file을 수정하기 전에 !!

비밀번호를 생성할텐데 비밀번호의 해쉬값을 적어야 하기 때문에, 사용하실 비밀번호의 해쉬를 알아냅시다.

jupyter notebook의 패스워드 해쉬 함수는 python을 통해서 실행시킵니다.

 

# jupyter notebook을 깐 pip의 python을 실행
# pip3를 통해 설치했다면, pip3에 해당하는 python3를 실행

>>> from notebook.auth import passwd
>>> passwd()
# out[0]
Enter password : <사용하실 비밀번호 입력>
Verify password : <사용하실 비밀번호 입력>
# out[1]
# 'sha1:9dc4a5159282:03f1c32c7624242082253de0498388a252b56aaf'

sha1:9dc4a5159282:03f1c32c7624242082253de0498388a252b56aaf 를 복사하셔서,

 

$ vi ~/.jupyter/jupyter_notebook_config.py

# vim에서 단어 찾기 기능
: /c.NotebookApp.password

c.NotebookApp.password =  복사한 해쉬값을 넣어줍니다.

 

 

이 값도 찾아서 주석 지워주시고, 위 사진처럼 바꿔줍니다. '*'은 모든 ip입니다. 즉 모든 ip에서의 접속을 허용한다는 뜻입니다.

저장하시고 일단 local로 jupyter를 실행하셔서 비밀번호를 제대로 요구하는지 확인해주세요.

c.NotebookApp.port = 

port를 변경하시고 싶으시다면 config파일의 위 내용을 바꿔주세요. default는 8888입니다.

 

잘되신다면 이제 원격접속이 가능하게 jupyter를 실행합니다.

jupyter notebook --ip=192.168.219.104 

192.168.219.104 ip로 열었습니다. 이제 외부에서 이 ip로 접속이 가능합니다. 단, 192.168.219.104는 내부망의 ip이기 때문에 같은 내부망을 사용하는 기기끼리만 접속이 가능합니다. 그렇다고 외부망 ip를 입력하시면 안됩니다.

*내부망을 사용하는 경우 실행할때 외부망 ip로 설정하시면 인식이 안됩니다.*

 

고정ip라면 고정 ip를 넣으시면되고, 만약 포트포워딩을 하셨다면, 그래도 jupyter server를 실행한 컴퓨터의 내부망 ip로 실행해주시고 외부에서 접속할때만 외부망 ip와 포트포워딩한 port로 접속하시면 됩니다. 

외부망 ip가 222.222.222.222이고 내부망은 192.168.219.104이라면

실행은 jupyter notebook --ip=192.168.219.104

외부에서 접속은 "222.222.222.222:8888" 웹주소로 접속.

 

외부망 ip는 다음이나 네이버에서 ip주소확인을 검색하시면 바로 알수 있고, 혹은 맨위 포스팅에서 들어갔던 공유기 사이트에서도 알 수 있습니다.

 

 

 

백그라운드 실행과, 부팅시 자동실행을 설정하고 싶으시다면 참고해주세요

https://asung123456.tistory.com/17?category=746927

 

Ubuntu 부팅시 자동실행 by rc.local

$ sudo vi /etc/rc.local rc.local 파일에 실행하고 싶은 명령어를 넣습니다. 저는 스크립트를 실행하기위해서 코드를 짰습니다. 1줄의 #!/bin/sh는 sh 형식으로 스크립트(.sh)를 실행하겠다는 뜻입니다. (bash�

asung123456.tistory.com

 

댓글