Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Astro Coke

[Python] ssh Portforwarding & iPython notebook 서버 접속에서 이용하기 본문

Computer Setup

[Python] ssh Portforwarding & iPython notebook 서버 접속에서 이용하기

astrodoo 2019. 4. 12. 23:07

source: https://www.digitalocean.com/community/tutorials/how-to-set-up-a-jupyter-notebook-to-run-ipython-on-ubuntu-16-04

서버에 접속을 해서 jupyter (or ipython) 를이용할 때, 
기본적으로는 서버에 있는 브라우저를 통해 작업을 하도록 설정이 되어 있어 속도가 현저히 느려진다.
이를 해결하기 위해, portforwadring 을 통하여 현재(리모트) 컴퓨터의 브라우저를 대신 이용하는 방법이 있다.

1) portforwarding

> ssh -L 8080:localhost:8080 astrodoo@xxx.xxx.xxx.xxx

ssh 를 통해 portforwarding을 하는 방법. (-L)
앞의 8080은 현재 컴퓨터에서 이용할 포트 넘버이고,
뒤의 localhost:8080 은 서버에서 jupyter notebook 이 사용할 포트 넘버이다.


그러므로 앞의 8080은 임의의 숫자를 넣어도 무방하지만,

이후 jupyter 를 구동할 때 같은 포트 넘버를 구동해주어야 한다.


2) jupyter

서버에서 jupyter 을 브라우저를 띄우지 않고 작동하기:

> jupyter notebook --port 8080 --no-browser

다음과정은 현재(리모트) 컴퓨터에서 브라우저를 열어 

localhost:8080

에 접속하기만 하면 끝~!

이때 첫 접속시에는 token 값을 입력하는 창이 나오기도 하는데,

서버에서 jupyter 구동 터미널에 보면 token 값이 나와 있으므로

이를 복사해서 붙여 놓으면 된다.

 

3) 접속 해제

 

작업이 완료된 후, jupyter notebook 을 종료할 때,

간혹 Ctrl-c 로 종료를 해도 백그라운드로 여전히 살아 있을 때가 있다.

이 때 체크하는 방법은,

> jupyter notebook list

 

만약 백그라운드에 살아 있다면, 포트넘버가 표시될 것이다.

이를 종료하려면 다음과 같다.

> jupyter notebook stop 8080