Как запустить 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'

2) создать профиль

user@remote_host$ ipython profile create 

3) редактировать ~/.ipython/profile_default/ipython_notebook_config.py

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

4) запустите ноутбук на порту 8889

user@remote_host$ ipython notebook --no-browser --port=8889

И блокнот начинает работать.

[I 16: 08: 10.012 NotebookApp] использование MathJax из CDN: https://cdn.mathjax.org/mathjax/latest/MathJax.js

[W 16:08:10.131 NotebookApp] терминалы недоступны (ошибка отсутствует модуль с именем 'terminado')

[я 16:08:NotebookApp 10.132] обслуживает ноутбуки из локального каталога: /кластера/главная/пользователя

[I 16: 08:10.132 NotebookApp] 0 активных ядер

[I 16: 08: 10.132 NotebookApp] ноутбук IPython работает по адресу: 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

На удаленном хосте (/etc/hosts) вы найдете

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
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
2 3

2 ответа:

Наконец, вот как была решена проблема:

# 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

Просто следуйте этой инструкции.

Https://coderwall.com/p/ohk6cg/remote-access-to-ipython-notebooks-via-ssh