2015-06-04 2 views
1

Я запускаю сервер ноутбуков на удаленном компьютере и хочу как-то его защитить. К сожалению, я не могу использовать аутентификацию по паролю (потому что, если я это сделаю, я не могу использовать ein, пакет emacs для ноутбуков ipython).Сделать IPython Notebook принимать соединения только с заданного адреса/подсети

Другое очевидное решение - заставить IPython Notebook принимать соединения только из IP-адреса моего локального компьютера, но, похоже, нет обычного способа сделать это с помощью конфигураций ipython. Может, я что-то упустил?

Возможно, есть еще один способ достичь моей цели?

ОБНОВЛЕНИЕ: вот об ошибке, опубликованном в трекер EIN: https://github.com/millejoh/emacs-ipython-notebook/issues/57.

UPDATE2: спасибо 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 конфиги: Docs

Для блокировки IP-адресов: StackExchangecyberciti

+0

Это хорошая идея, спасибо! Он частично решает мою проблему. Частично - потому что в дополнение к основному рабочему столу я иногда подключаюсь к IPython машине с ноутбука через vpn с динамически назначенным IP (и у меня нет разрешения на настройку vpn). – krvkir

+0

Является ли VPN частью той же сети, что и iPython-сервер? –

+0

Они находятся в разных подсетях, но и внутри внутренней корпоративной сети. – krvkir

0

Я не нашел ничего о другом способе аутентификации на сайте ipython, тогда вы можете иметь право. Здесь http://ipython.org/ipython-doc/3/notebook/security.html что-то о доверии ipython. Возможно, этого вам будет достаточно.

Смежные вопросы