如何远程启动IPython笔记本?

ilc*_*avo 3 ssh ipython ipython-notebook

按照这些说明(运行笔记本服务器远程访问IPython笔记本 ),我按如下方式进行:

在远程服务器上:

1)设置NotebookApp.password()

In [1]: from IPython.lib import passwd
In [2]: passwd()    
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
Run Code Online (Sandbox Code Playgroud)

2)创建个人资料

user@remote_host$ ipython profile create 
Run Code Online (Sandbox Code Playgroud)

3)编辑 ~/.ipython/profile_default/ipython_notebook_config.py

# Password to use for web authentication
c = get_config()
c.NotebookApp.password =
u'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
Run Code Online (Sandbox Code Playgroud)

4)在端口8889上启动笔记本

user@remote_host$ ipython notebook --no-browser --port=8889
Run Code Online (Sandbox Code Playgroud)

然后笔记本开始了

[I 16:08:10.012 NotebookApp]使用CDN的MathJax:https://cdn.mathjax.org/mathjax/latest/MathJax.js

[W 16:08:10.131 NotebookApp]终端不可用(错误是没有名为'terminado'的模块)

[我16:08:10.132 NotebookApp]从本地目录服务笔记本:/ cluster/home/user

[I 16:08:10.132 NotebookApp] 0个活动内核

[I 16:08:10.132 NotebookApp] IPython Notebook运行于:http:// localhost:8889 /

[I 16:08:10.132 NotebookApp]使用Control-C停止此服务器并关闭所有内核(两次跳过确认).

在我的本地机器上

5)SSH隧道

 user@local$ ssh -N -f -L localhost:8888:127.0.0.1:8889 username@remote_host
Run Code Online (Sandbox Code Playgroud)

在远程主机(/etc/hosts)上找到

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
Run Code Online (Sandbox Code Playgroud)

6)最后,我尝试localhost:8888在浏览器上打开,然后我得到:

通道2:打开失败:连接失败:连接被拒绝

通道2:打开失败:连接失败:连接被拒绝

通道2:打开失败:连接失败:连接被拒绝

通道2:打开失败:连接失败:连接被拒绝

通道2:打开失败:连接失败:连接被拒绝

所有这些步骤都在一台服务器上运行,但在另一台服

我尝试联系管理员并说了以下内容:

我假设您使用两个单独的SSH连接:一个用于运行ipython,另一个用于执行端口转发.无法保证这两个连接将使您登陆同一登录节点.如果两个连接位于不同的主机上,您将遇到遇到的确切故障.因此,您应该在用于运行ipython的连接中设置端口转发.

如何在用于运行ipython的连接中设置端口转发?

我尝试使用我的IP地址,但它没有用

$ ssh -N -f -L local_ip_address:8888:127.0.0.1:8889 user@remote_host
Run Code Online (Sandbox Code Playgroud)

ilc*_*avo 5

最后,问题是如何解决的:

# Login to the server from your local workstation and in the same connection do the port forwarding.
user@local$ ssh -L 8888:localhost:8889 username@remote_host
user@remote_host$ ipython notebook --no-browser --port=8889
Run Code Online (Sandbox Code Playgroud)