1. 程式人生 > >本地使用伺服器端執行的Jupyter Notebook

本地使用伺服器端執行的Jupyter Notebook

20180414更新:

 發現這東西完全可以像一個類似於windows下登入遠端伺服器的類似Xshell, Xftp一樣的東西。

傳檔案、拷檔案,terminal,妥了!!

愛上Jupyter 了!!!

===================================================================

主要思路:

  • 安裝Jupyter notebook
  • 配置檔案
  • 設定密碼
  • 生成ssl證書
  • 給配置檔案新增ssl金鑰和自己的設定的登入密碼
  • 後臺執行掛起
  • Enjoy Jupyter-lab.

1. 伺服器端安裝Anaconda, 安裝好jupyter notebook 等等

2.  生成配置檔案

jupyter notebook --generate-config

3. 配置密碼

開啟python,輸入

from notebook.auth import passwd
passwd()

輸入你設定的自己的密碼,然後他生成一個密碼序列,複製下來。

4. 生成ssl證書,最後是用https登入的:

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem

5.修改jupyter配置檔案,

開啟第2步生成的配置檔案,一般在:

~/.jupyter

開啟配置檔案

vim ~/.jupyter/jupyter_notebook_config.py

新增進入幾行:

c.NotebookApp.password = u'sha1:XXXXXXXXXXXXXXXXXXXXXXXXXXXX'

剛剛3生成的密碼序列。

c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
#9999是自己設定的,你也可以設成別的
c.NotebookApp.port = 9999
/absolute/path/to/your/certificate是指你存放mycert.pem和mykey.key的路徑,執行第4步生成ssl的 當前路徑,用pwd可以看

6. 在伺服器上用 nohup 後臺掛起執行jupyter

nohup jupyter notebook &
# 如果你裝jupyter-lab的就開啟jupyter-lab也行

7. 現在你可以在任何瀏覽器上輸入:

https://XXX.XX.XXX:abcd
(假設你的伺服器IP是XXX.XX.XXX,你前面第5步設定的port是abcd)

輸入你前面自己設定的密碼就可以訪問伺服器上jupyter了。

關於這個https訪問的安全性問題,還需要高手進一步指導怎麼提高安全性問題,歡迎留言討論。