Сценарий: на локальном компьютере вы хотите открыть записную книжку Juniper, работающую на удаленном компьютере, и управлять ею. Мы сделаем это, открыв туннель SSH. Этот туннель будет перенаправлять порт, используемый удаленно запущенным экземпляром Jupyter, на порт на локальном компьютере, где к нему можно будет получить доступ в браузере, как к локально запущенному экземпляру Jupyter.
На удаленном компьютере запустите сервер записных книжек Jupyter:
remote_user@remote_host$ Jupyter notebook --no-browser --port=8889
Обычно Jupyter открывает браузер для отображения доступных записных книжек, но нам это не нужно, поэтому мы используем параметр --no-browser
. Мы также меняем порт на 8889
только для того, чтобы показать, как это делается.
На локальном компьютере запустите туннель SSH:
local_user@local_host$ ssh -N -f -L localhost:8888:localhost:8889 remote_user@remote_host
Первая опция -N
сообщает SSH, что никакие удаленные команды не будут выполняться, и полезна для переадресации портов. Вторая опция -f
приводит к тому, что SSH переходит в фоновый режим, поэтому локальный терминал, поддерживающий туннель, остается пригодным для использования. Последняя опция -L
перечисляет конфигурацию переадресации портов (удаленный порт 8889 на локальный порт 8888).
Теперь откройте браузер на локальном компьютере и введите в адресной строке
localhost:8888
который отображает ваш удаленно запущенный сервер ноутбуков Jupyter.
Чтобы закрыть SSH-туннель на локальном компьютере, найдите процесс и вручную завершите его:
local_user@local_host$ ps aux | grep localhost:8889
local_user 18418 0.0 0.0 41488 684 ? Ss 17:27 0:00 ssh -N -f -L localhost:8888:localhost:8889 remote_user@remote_host
local_user 18424 0.0 0.0 11572 932 pts/6 S+ 17:27 0:00 grep localhost:8889
local_user@local_host$ kill -15 18418
В качестве альтернативы вы можете запустить туннель без опции -f
. После этого процесс останется на переднем плане и может быть остановлен с помощью ctrl-c
.
На удаленном компьютере завершите работу сервера Jupyter с помощью ctrl-c
ctrl-c
.
person
Alfredo Cedeno
schedule
22.05.2019