本地主機訪問遠程linux系統服務器上的jupyter notebook


1,機器情況:服務器 centos python環境已經配置好了,在虛擬環境下安裝了anaconda 並且在里面安裝了jupyter notebook
2,主機是 windows
 
 
ipython notebook是一個基於瀏覽器的python數據分析工具,使用起來非常方便,具有極強的交互方式和富文本的展示效果。jupyter是它的升級版,它的安裝也非常方便,一般Anaconda安裝包中會自帶。安裝好以后直接輸入jupyter notebook便可以在瀏覽器中使用。但是它默認只能在本地訪問,如果想把它安裝在服務器上,然后在本地遠程訪問,則需要進行如下配置:

1. 登陸遠程服務器

2. 生成配置文件

$jupyter notebook --generate-config
 

3. 生成密碼

打開ipython,(在ipython環境下)創建一個密文的密碼:
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:ce23d945972f:34769685a7ccd3d08c84a18c63968a41f1140274'
 
把生成的密文‘sha:ce…’復制下來

4. 修改默認配置文件

$vim ~/.jupyter/jupyter_notebook_config.py 
進行如下修改:
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha:ce...剛才復制的那個密文'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #隨便指定一個端口
 

5. 啟動jupyter notebook:

$jupyter notebook
 

6. 遠程訪問

此時應該可以直接從本地瀏覽器直接訪問 http://address_of_remote:8888就可以看到jupyter的登陸界面。
 
 
 
7、前面的都做完了,在瀏覽器里訪問,顯示相應超時,,一直連接不上,原因:服務器的防火牆攔截了,在服務器上關掉防火牆就行了。
 
 
Linux中的防火牆有多種,一般指的iptables。
 
1. Linux防火牆(Iptables)重啟系統生效
 
 
 
開啟: chkconfig iptables on
 
關閉: chkconfig iptables off
 
 
2.Linux防火牆(Iptables) 即時生效,重啟后失效
 
 
 
開啟: service iptables start
 
關閉: service iptables stop
 
 
3.其它linux防火牆,請自行參考說明文檔。一般對於Linux下的服務都可以用以上命令執行開啟和關閉操作,而防火牆通常都以服務形式運行,因此也算是一個通用的方法。
8、這個方法不安全,可以在瀏覽器訪問之前先建立一個ssh安全協議通道,做一個ip地址映射,這樣就可以直接訪問了

 建立ssh通道

如果登陸失敗,則有可能是服務器防火牆設置的問題,此時最簡單的方法是在本地建立一個ssh通道: 
在本地終端中輸入ssh username@address_of_remote -L127.0.0.1:1234:127.0.0.1:8888 
便可以在localhost:1234直接訪問遠程的jupyter了。
 
 
9、建立ssh通道的時候,如果出現

The authenticity of host 192.168.0.xxx can't be established. 的問題

 
 
用ssh登錄一個機器(換過ip地址),提示輸入yes后,屏幕不斷出現y,只有按ctrl + c結束
 
錯誤是:The authenticity of host 192.168.0.xxx can't be established.
 
以前和同事碰到過這個問題,解決了,沒有記錄,這次又碰到了不知道怎么處理,還好有QQ聊天記錄,查找到一下,找到解決方案:
 
執行ssh  -o StrictHostKeyChecking=no  192.168.0.xxx 就OK這里換成自己需要做映射的服務器的ip地址就行了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM