Блокнот SSH Jupyter для двухшагового SSH туннеля - PullRequest
1 голос
/ 16 марта 2019

Я хочу получить доступ к ноутбуку Jupyter через туннель SSH и следовать этому рецепту

https://hsaghir.github.io/data_science/jupyter-notebook-on-a-remote-machine-linux/

Подвести итог -: 1. Войдите в систему удаленного компьютера

user@local_host$ ssh user@remote_host

remote_user@remote_host$ jupyter notebook --no-browser --port=8889

2.В новом терминале:

user@local_host$ ssh -N -L localhost:8888:localhost:8889 remote_user@remote_host

3. Затем перейдите в браузер и перейдите на

localhost:8888

Теперь вот моя проблема: Я могу получить доступ к удаленной машине только в два этапа

ssh -X username@server

ssh -KX my_pc_name

и блокнот jupyter установлен только на my_pc_name.

Что я пишу для второго шага, когда я заменяю первую строку первого шага моей более длинной процедурой входа?

Когда я подключаю remote_user = username и remote_user = my_pc_name , я получаю ошибку безопасности из записной книжки jupyter с запросом токена. Маркер, полученный на первом шаге, не работает с ноутбуком Jupyter.


Одним из решений может быть объединение двух шагов ssh в один шаг.

1 Ответ

2 голосов
/ 16 марта 2019

Кажется, 'сервер' - это ваш сервер шлюза, и что 'my_pc_name' доступно только оттуда.Попробуйте установить два подключенных ssh-туннеля следующим образом:

https://medium.com/@sankarshan7/how-to-run-jupyter-notebook-in-server-which-is-at-multi-hop-distance-a02bc8e78314

Так что я бы сделал это.Откройте терминал и запустите:

ssh -f username@server -L 8888:localhost:8889 -N

Это подключит ваш локальный компьютер к серверу прыжков и перенаправит порт.

Затем откройте новый терминал и запустите:

ssh username@server
ssh -f my_pc_name -L 8889:localhost:8889 -N -K

Это должно соединить вас с сервером Jump и выполнить переадресацию портов между сервером Jump и my_pc_name.

Затем открыть другой терминал и запустить:

ssh -X username@server
ssh -KX my_pc_name
jupyter notebook --no-browser --port=8889

Это должно подключить вас к my_pc_name и запуститьтам находится сервер ноутбуков jupyter.

Наконец, перейдите в ваш браузер на локальном компьютере и получите доступ: localhost:8888

В строке подключения ssh есть опция -X, которая указывает на оконное управление X11(тип удаленного рабочего стола для Linux).Попробуйте сбросить его и посмотреть, работает ли он по-прежнему, иначе вам, возможно, придется сохранить его.Кроме того, -K указывает на пересылку билетов Kerberos, которые вам, вероятно, понадобятся, чтобы разрешить доступ к файлам, поэтому я сохранил их.

Возможно, вам придется поиграть с их комбинацией на вашем компьютере, чтобы она заработала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...