2015-06-04 79 views
1

我在遠程計算機上運行Notebook服務器,並想以某種方式保護它。不幸的是,我不能使用密碼認證(因爲如果我這樣做,那麼我不能使用ein,ipython筆記本的emacs包)。使IPython Notebook只接受來自給定地址/子網的連接

另一個顯而易見的解決方案是讓IPython Notebook只接受來自本地機器ip的連接,但似乎沒有通過ipython configs來執行此操作的常規方法。也許我錯過了什麼?

或者也許有另一種方法來實現我的目標?

更新:這裏有一個關於它發佈到EIN追蹤器的錯誤:https://github.com/millejoh/emacs-ipython-notebook/issues/57

更新2:感謝millejoh(ein開發人員),現在ein應該使用受密碼保護的筆記本電腦,所以問題不再存在。感謝大家的回覆!

+1

什麼做它在遠程機器上的一面呢? 使Notebook服務器在給定端口上運行,並設置該端口的設置,以便該端口只接受來自本地計算機IP的連接。那麼你甚至不需要玩ipython配置。 –

回答

1

您可以將iPython的端口設置爲僅由iPython使用的端口。 然後將對該端口的訪問限制爲只有本地計算機的IP。

設置端口:

編輯ipython_notebook_config.py文件,插入或編輯該行:

c.NotebookApp.port = 7777 

,你改變7777到您選擇的端口。

假設Linux中的遠程機器。然後,您可以使用iptables來阻止訪問端口,除了從本地機器:

iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 7777 -j DROP # if it's not 1.2.3.4, drop it 

,你改變1.2.3.4到本地ip和7777至你的IPython工作的端口。

來源:

對於IPython的CONFIGS:Docs

阻止IP地址:StackExchangecyberciti

+0

這是一個好主意,謝謝!它部分解決了我的問題。部分 - 因爲除了主桌面之外,有時我會通過帶有動態分配IP的vpn從筆記本電腦連接到IPython機器(並且我沒有配置vpn的權限)。 – krvkir

+0

與iPython服務器是同一網絡的VPN部分嗎? –

+0

它們位於不同的子網中,但都位於企業內部網絡內部。 – krvkir