【问题标题】:Make IPython Notebook accept connections only from given address/subnet使 IPython Notebook 仅接受来自给定地址/子网的连接
【发布时间】:2015-06-04 07:15:53
【问题描述】:

我正在远程机器上运行笔记本服务器,并希望以某种方式保护它。不幸的是我不能使用密码验证(因为如果我这样做了,我就不能使用ein,一个用于 ipython 笔记本的 emacs 包)。

另一个明显的解决方案是让 IPython Notebook 只接受来自我本地机器 ip 的连接,但似乎没有常规的方法可以使用 ipython 配置来做到这一点。也许我错过了什么?

或者也许还有其他方法可以实现我的目标?

更新:这里有一个关于它的错误发布到 EIN 跟踪器:https://github.com/millejoh/emacs-ipython-notebook/issues/57

UPDATE2:感谢millejoh(ein 开发人员),现在ein 应该可以使用受密码保护的笔记本,所以这个问题不再实际了。谢谢大家的回复!

【问题讨论】:

  • 在远程机器端怎么办?使笔记本服务器在给定端口上运行,并设置该端口的设置,以便该端口仅接受来自本地计算机 IP 的连接。那么你甚至不需要使用 ipython 配置。

标签: emacs 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 配置:Docs

用于阻止 IP:StackExchangecyberciti

【讨论】:

  • 这是个好主意,谢谢!它部分解决了我的问题。部分——因为除了主桌面之外,有时我通过动态分配 IP 的 vpn 从笔记本电脑连接到 IPython 机器(并且我无权配置 vpn)。
  • VPN 是否与 iPython 服务器属于同一网络?
  • 它们在不同的子网中,但都在公司内部网络中。
  • 那么也许有一种方法可以允许除了您的主桌面之外的整个内部公司网络。这取决于你想保护它免受谁的伤害。
【解决方案2】:

我在 ipython 网站上没有找到任何关于其他身份验证方式的信息,那么你可以对。 这里http://ipython.org/ipython-doc/3/notebook/security.html 是关于 ipython 信任的。也许对你来说就足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 2013-05-24
    • 2016-06-20
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多