Запуск IPython notebook server с поддержкой IRkernel

Правила форума
Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа.
Аватара пользователя

Автор темы
SemenSinchenko
Сообщения: 315
Зарегистрирован: 17 фев 2017, 09:01
Решено: 2
Откуда: Москва
Благодарил (а): 40 раз
Поблагодарили: 41 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение SemenSinchenko » 15 июн 2017, 12:53

Заранее извиняюсь за нубский вопрос - вроде все есть в гугле, но все равно ничего не понял как делать и даже с чего начать.

Задача: запустить дома IPython notebook server с поддержкой IRKernel так, чтобы я мог с работы заходить на него просто вбив нужный IP, но так, чтобы кто-угодно не мог зайти на него и запустить file.remove() или чего похуже.
Документации куча, но она вся на английском и сложная, я просто в сетях и этих всех фаерволах совсем-совсем не разбираюсь... Мне нужно что-то типа набора команд, которые надо вбить в консоль, чтобы заработало.

Что это такое:
IRKernel:
На русском, но ниочем
На английском, вроде понятно, но только на localhost
Собственно сам пакет
IPython notebook server:
На английском и я почти ничего не понял

Что есть сейчас:
R, Python3, iPython, jupyter-notebook, apt.
Система Debian testing (stretch) amd64

Что умею:
Вводить команды, устанавливать пакеты (в том числе pip и CRAN), читать не сложную документацию, работать в консоли и пользоваться гуглом, в общем все, что входит в курс "Введение в Linux" и даже немного больше

Что не умею:
Настраивать фаервол, пробрасывать порты, поднимать сервера, использовать git и много чего еще...

Буду просто ооооочень признателен за помощь, а то пока не втыкаю даже с чего начать, да и тема от меня очень уж далекая...

В сети
Аватара пользователя

Dja
Сообщения: 2760
Зарегистрирован: 27 авг 2016, 17:03
Решено: 11
Откуда: Воскресенск
Благодарил (а): 390 раз
Поблагодарили: 282 раза

Запуск IPython notebook server с поддержкой IRkernel

Сообщение Dja » 15 июн 2017, 13:21

openvpn ?
Новичок? - ознакомься с правилами

В поисках истины :grabli:

Аватара пользователя

Автор темы
SemenSinchenko
Сообщения: 315
Зарегистрирован: 17 фев 2017, 09:01
Решено: 2
Откуда: Москва
Благодарил (а): 40 раз
Поблагодарили: 41 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение SemenSinchenko » 15 июн 2017, 13:25

Dja писал(а): openvpn
Я честно говоря не умею его поднимать... И потом, а что это даст, я просто не догоняю?

В сети
Аватара пользователя

Dja
Сообщения: 2760
Зарегистрирован: 27 авг 2016, 17:03
Решено: 11
Откуда: Воскресенск
Благодарил (а): 390 раз
Поблагодарили: 282 раза

Запуск IPython notebook server с поддержкой IRkernel

Сообщение Dja » 15 июн 2017, 13:44

SemenSinchenko, включаете шлюз, тем самым коннектясь к серверу. И потом досаточно будет ssh 10.8.0.1 -p port ну или какой адрес:порт будет у сервера.
С поднятием поможем. Единственное...никак не добьюсь прохода трафика через него, но это думаю уже на стороне сервера надо смотреть. Но для вашей ситуации вполне подойдет канал при наличии интернета от провайдера.
Единственное... боюсь уже завтра. Сейчас уже домой надо будет идти.
Новичок? - ознакомься с правилами

В поисках истины :grabli:

Аватара пользователя

Автор темы
SemenSinchenko
Сообщения: 315
Зарегистрирован: 17 фев 2017, 09:01
Решено: 2
Откуда: Москва
Благодарил (а): 40 раз
Поблагодарили: 41 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение SemenSinchenko » 15 июн 2017, 13:55

Dja писал(а): ssh 10.8.0.1 -p port
Спасибо за быстрый отклик!

То есть мне нужно будет что-то типо putty установить на работе? Боюсь это трудно будет, тут windows и совсем совсем ограниченные права по установке чего-либо(

А просто заходить по IP в браузере никак не выйдет? Ведь ipython notebook это по сути просто веб морда интерпретатора. Мне в идеале нужно как здесь только, чтобы были доступны мои файлы и установленные у меня дома расширения R.
Dja писал(а): Единственное... боюсь уже завтра. Сейчас уже домой надо будет идти.
Это совсем не срочно!
Пока итак можно жить, через dropbox загружая/выгружая каждый раз файлы скриптов и данных в https://try.jupyter.org/, просто это костыльно и не совсем удобно

В сети
Аватара пользователя

di_mok
Сообщения: 2205
Зарегистрирован: 27 авг 2016, 16:06
Решено: 15
Откуда: Арзамас
Благодарил (а): 573 раза
Поблагодарили: 339 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение di_mok » 15 июн 2017, 14:45

SemenSinchenko писал(а): То есть мне нужно будет что-то типо putty установить на работе? Боюсь это трудно будет, тут windows и совсем совсем ограниченные права по установке чего-либо(
SemenSinchenko, а и не надо устанавливать, он есть портейбл https://www.chiark.greenend.org.uk/~sgt ... atest.html
Настоящая водка — это не пьянство, а ключ к своей совести, с нее-то и начинается настоящая мудрость. (c)

Аватара пользователя

Автор темы
SemenSinchenko
Сообщения: 315
Зарегистрирован: 17 фев 2017, 09:01
Решено: 2
Откуда: Москва
Благодарил (а): 40 раз
Поблагодарили: 41 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение SemenSinchenko » 23 июн 2017, 07:58

UPD.
Сервер я запустил, пароль и сертификат настроил (сертификат пока битый, где взять нормальный я не знаю, но думаю в эту сторону и в общем то справлюсь наверное...)

Но я не понимаю, как мне подключаться теперь к нему извне. Я вчера поздно закончил настраивать, думал что все просто (я ньюби в сетях) и просто добавил в cron ip addr show > ~/Dropbox/my_ip.txt на полночь, думал на работу приеду, посмотрю ip и просто законекчусь... Но теперь я понимаю, что это не тот ip, который мне нужен, но пока это все, что у меня есть.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether d0:bf:9c:61:94:91 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether ac:b5:7d:4b:93:31 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.21/24 brd 192.168.1.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::aeb5:7dff:fe4b:9331/64 scope link
valid_lft forever preferred_lft forever
Я правильно понимаю, что мне надо делать проброс портов? Это нужно именно 9999 порт делать? У меня в настройках jupyter server стоит как раз 9999 порт. Это именно на роутере настраивать надо (выход в мир идет через роутер)?
А еще гугл говорить, что надо раздобыть адрес сети. Может кто подскажет, как это сделать?

P.S. Сегодня я так понимаю, я уже никак не подключусь имея эти данные?
P.P.S. А можно как нибудь настроить cron так, чтобы он читал файл команд в Dropbox и выполнял их, если они там есть, а потом стирал, при этом вывод записывал в другой файл в Dropbox? Типа удаленное управление.... Или это я костыль какой-то я сейчас придумал?
P.P.P.S. Всем спасибо заранее, что помогаете с таким нубским вопросом!

Аватара пользователя

Chocobo
Сообщения: 5504
Зарегистрирован: 27 авг 2016, 19:57
Решено: 128
Откуда: НН
Благодарил (а): 411 раз
Поблагодарили: 1427 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение Chocobo » 23 июн 2017, 08:51

SemenSinchenko писал(а): но думаю в эту сторону
Уже протухший вариант. Но оно тебе и не обязательно - то что серт не валиден не значит что он плохой. Просто не проверен дядьками из удостоверяющих центров - для личного пользования проще добавить свой сертификат в исключения.

Стоит найти листенер программы, например в выхлопе netstat -nlp.
Дальше, если хочется иметь к нему доступ из интернета - стоит уточнить предоставляет ли провайдер тебе белый адрес, и не режет ли порты наружу.

потом дело за конфигом роутера, например на моей тапке - проброс выглядит так:
forwarding.png
Что стоит читать как "все входящие соединения на 4200 порт перенаправлять на порт 4200 клиенту с адресом 192.168.0.4"
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

Автор темы
SemenSinchenko
Сообщения: 315
Зарегистрирован: 17 фев 2017, 09:01
Решено: 2
Откуда: Москва
Благодарил (а): 40 раз
Поблагодарили: 41 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение SemenSinchenko » 24 июн 2017, 08:09

Chocobo,
выхлоп netstat:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:9999 0.0.0.0:* LISTEN 21900/python3
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:17500 0.0.0.0:* LISTEN 1220/dropbox
tcp 0 0 127.0.0.1:17600 0.0.0.0:* LISTEN 1220/dropbox
tcp 0 0 127.0.0.1:17603 0.0.0.0:* LISTEN 1220/dropbox
tcp 0 0 0.0.0.0:50510 0.0.0.0:* LISTEN 13671/python
[b][u]tcp6 0 0 :::9999 :::* LISTEN 21900/python3[/u][/b]
tcp6 0 0 :::111 :::* LISTEN -
tcp6 0 0 ::1:25 :::* LISTEN -
tcp6 0 0 :::17500 :::* LISTEN 1220/dropbox
tcp6 0 0 :::50510 :::* LISTEN 13671/python
udp 0 0 127.0.0.1:6771 0.0.0.0:* 13671/python
udp 0 0 192.168.1.21:35786 0.0.0.0:* 13671/python
udp 0 0 127.0.0.1:60482 0.0.0.0:* 13671/python
udp 0 0 0.0.0.0:17500 0.0.0.0:* 1220/dropbox
udp 0 0 0.0.0.0:5353 0.0.0.0:* 5773/google-chrome-
udp 0 0 0.0.0.0:5353 0.0.0.0:* -
udp 0 0 0.0.0.0:50510 0.0.0.0:* 13671/python
udp 0 0 0.0.0.0:52591 0.0.0.0:* 13671/python
udp 0 0 127.0.0.1:40718 0.0.0.0:* 13671/python
udp 0 0 192.168.1.21:1900 0.0.0.0:* 13671/python
udp 0 0 127.0.0.1:1900 0.0.0.0:* 13671/python
udp 0 0 0.0.0.0:1900 0.0.0.0:* 13671/python
udp 0 0 0.0.0.0:36783 0.0.0.0:* -
udp 0 0 0.0.0.0:68 0.0.0.0:* -
udp 0 0 0.0.0.0:111 0.0.0.0:* -
udp 0 0 0.0.0.0:609 0.0.0.0:* -
udp6 0 0 :::5353 :::* 5773/google-chrome-
udp6 0 0 :::5353 :::* -
udp6 0 0 :::50510 :::* 13671/python
udp6 0 0 :::41044 :::* -
udp6 0 0 :::111 :::* -
udp6 0 0 :::609 :::* -
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 19211 1260/menu-cached /run/user/1000/menu-cached-:0
unix 2 [ ACC ] STREAM LISTENING 22234 1220/dropbox /home/semen/.dropbox/command_socket
unix 2 [ ACC ] STREAM LISTENING 19565 - /tmp/rPH7QE/s
unix 2 [ ACC ] STREAM LISTENING 19218 1239/pulseaudio /run/user/1000/pulse/native
unix 2 [ ACC ] STREAM LISTENING 21522 1257/menu-cached /run/user/1000/menu-cached-:0
unix 2 [ ACC ] STREAM LISTENING 20667 - /tmp/ssh-ESIBUmA0Qbsy/agent.1071
unix 2 [ ACC ] STREAM LISTENING 21023 1220/dropbox /home/semen/.dropbox/iface_socket
unix 2 [ ACC ] STREAM LISTENING 14877 - /run/snapd.socket
unix 2 [ ACC ] STREAM LISTENING 14879 - /run/snapd-snap.socket
unix 2 [ ACC ] STREAM LISTENING 19536 - @/tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 14881 - /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 6721650 5773/google-chrome- /tmp/.com.google.Chrome.VI23aj/SingletonSocket
unix 2 [ ACC ] STREAM LISTENING 14884 - /run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 14886 - /run/uuidd/request
unix 2 [ ACC ] STREAM LISTENING 14889 - /var/run/avahi-daemon/socket
unix 2 [ ACC ] STREAM LISTENING 16846 - /tmp/sddm-authbd5d2bca-9350-4df6-af6b-6ce19daf62bf
unix 2 [ ACC ] STREAM LISTENING 19046 1047/systemd /run/user/1000/systemd/private
unix 2 [ ACC ] STREAM LISTENING 19051 1047/systemd /run/user/1000/gnupg/S.gpg-agent
unix 2 [ ACC ] STREAM LISTENING 19054 1047/systemd /run/user/1000/gnupg/S.gpg-agent.ssh
unix 2 [ ACC ] STREAM LISTENING 19056 1047/systemd /run/user/1000/gnupg/S.gpg-agent.extra
unix 2 [ ACC ] STREAM LISTENING 19058 1047/systemd /run/user/1000/gnupg/S.gpg-agent.browser
unix 2 [ ACC ] STREAM LISTENING 19060 1047/systemd /run/user/1000/gnupg/S.dirmngr
unix 2 [ ACC ] STREAM LISTENING 19062 1047/systemd /run/user/1000/bus
unix 2 [ ACC ] STREAM LISTENING 19537 - /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 9687 - /run/systemd/private
unix 2 [ ACC ] STREAM LISTENING 18318 1172/dbus-daemon @/tmp/dbus-Fpc9iAzNT9
unix 2 [ ACC ] STREAM LISTENING 9692 - /run/rpcbind.sock
unix 2 [ ACC ] SEQPACKET LISTENING 9710 - /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 90019 13671/python /home/semen/.config/deluge/ipc/deluge-gtk
unix 2 [ ACC ] STREAM LISTENING 9713 - /run/systemd/fsck.progress
unix 2 [ ACC ] STREAM LISTENING 9715 - /run/systemd/journal/stdout
Active IPX sockets
Proto Recv-Q Send-Q Local Address Foreign Address State
Active AX.25 sockets
Dest Source Device State Vr/Vs Send-Q Recv-Q
Подчеркнул то, что по моему есть запись о jupyter (в настройках jupyter я указал как раз 9999 порт). Именно этот порт мне надо пробрасывать?

Аватара пользователя

Chocobo
Сообщения: 5504
Зарегистрирован: 27 авг 2016, 19:57
Решено: 128
Откуда: НН
Благодарил (а): 411 раз
Поблагодарили: 1427 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение Chocobo » 24 июн 2017, 08:31

SemenSinchenko, почему-то tcp6 листенер - провайдеров которые сейчас активно используют ipv6, да и пользовательское оборудование (роутеры) обычно его не юзают.
Учитывая локальную адресацию в 192.168.0.0/24 - думаю тут этот же случай.

по хорошему должно бы быть tcp 192.168.1.21:9999 (на Ethernet-интерфейсе) или 0.0.0.0:9999 (на всех интерфейсах)

С другой стороны если локально к этому же порту ты обратиться можешь со своей машины - то он должен уже быть поднят. :scratch: Может просто не попал в выхлоп нетстата...

Аватара пользователя

Автор темы
SemenSinchenko
Сообщения: 315
Зарегистрирован: 17 фев 2017, 09:01
Решено: 2
Откуда: Москва
Благодарил (а): 40 раз
Поблагодарили: 41 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение SemenSinchenko » 24 июн 2017, 08:59

Chocobo, я что-то мало что понял...)

Вот так сделан конфиг jupyter - может это еще чем поможет:
c.NotebookApp.certfile = '/home/semen/.jupyter/mycept.pem'
c.NotebookApp.ip = '*'
c.NotebookApp.keyfile = '/home/semen/.jupyter/mykey.key'
c.NotebookApp.notebook_dir = '/home/semen/Dropbox/jupyter'
c.NotebookApp.open_browser = False
c.NotebookApp.password = 'sha1:2cd69dd8a839:dfacd9b2f9112181dfe1bce239ecb**********'
c.NotebookApp.port = 9999

Аватара пользователя

Автор темы
SemenSinchenko
Сообщения: 315
Зарегистрирован: 17 фев 2017, 09:01
Решено: 2
Откуда: Москва
Благодарил (а): 40 раз
Поблагодарили: 41 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение SemenSinchenko » 24 июн 2017, 14:09

В обще не получается ни фига...
Проброс порта 9999 на свой внутренний IP я сделал.
Этот сайт утверждает, что мой ip 185.13.112.15

Но по адресу https://185.13.112.15:9999/ подключиться не удается. При этом через https://localhost:9999 все работает.
Это значит, что у меня провайдер ограничивает доступ?

Аватара пользователя

Chocobo
Сообщения: 5504
Зарегистрирован: 27 авг 2016, 19:57
Решено: 128
Откуда: НН
Благодарил (а): 411 раз
Поблагодарили: 1427 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение Chocobo » 24 июн 2017, 14:27

SemenSinchenko, Возможно и провайдер.
Посмотри на роутере обычно тоже показывается WAN-адрес
Снимок экрана от 2017-06-24 17-17-20.png
Если он будет отличаться тут от 185.13.112.15 - вероятней всего ты за натом.
Если адрес тот же - то стоит уточнить в техподе, не режутся ли порты наружу.


По твоему конфигу вторая и последняя строки выглядят норм для сервиса.
Ну и можешь просканить свои адреса с nmap
как локальный интерфейс - nmap 192.168.1.21 -p 9999
так и внешний адрес - nmap 185.13.112.15 -p 9999
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

Автор темы
SemenSinchenko
Сообщения: 315
Зарегистрирован: 17 фев 2017, 09:01
Решено: 2
Откуда: Москва
Благодарил (а): 40 раз
Поблагодарили: 41 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение SemenSinchenko » 24 июн 2017, 15:34

Chocobo писал(а): Если он будет отличаться тут от 185.13.112.15 - вероятней всего ты за натом.
Я за натом.
Но по адресу в роутере https://10.154.59.1:9999 смог зайти!

Правда я не уверен, что смогу зайти извне... Или это не важно?

Аватара пользователя

Chocobo
Сообщения: 5504
Зарегистрирован: 27 авг 2016, 19:57
Решено: 128
Откуда: НН
Благодарил (а): 411 раз
Поблагодарили: 1427 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение Chocobo » 24 июн 2017, 15:51

SemenSinchenko, если хочется через инет - то не вряд ли выйдет без участия провайдера (а он может и не предоставлять подобную услугу).
Если сам зашел по WAN-адресу - значит портфорвардинг сделал верно :thumbs:
Но теперь подобным образом нужен проброс и с его стороны.
Как сам настраивал в роутере с 10.154.59.1 до 192.168.Х.Х - также нужно и от провайдера с 185.13.112.15 до 10.154.59.1

Аватара пользователя

Автор темы
SemenSinchenko
Сообщения: 315
Зарегистрирован: 17 фев 2017, 09:01
Решено: 2
Откуда: Москва
Благодарил (а): 40 раз
Поблагодарили: 41 раз

Запуск IPython notebook server с поддержкой IRkernel

Сообщение SemenSinchenko » 24 июн 2017, 15:58

Chocobo, узнал, вроде мой провайдер предоставляет услугу статического IP за 500 р в месяц - это, как я понял единственный вариант, так?

По ходу лучше через ssh и консольный R...

Вернуться в «Иное программное обеспечение»