туннелирование цепочек серверов ноутбуков jupyter - PullRequest
0 голосов
/ 17 мая 2019

Я часто работаю в ноутбуках Jupyter на удаленных серверах и обнаруживаю, что повторяю набор команд (особенно при потере соединения) для настройки моей рабочей станции.

В моем текущем рабочем процессе:

  1. (local) ssh user@login-node -i ~/.ssh/key
  2. (login-node) ssh compute-node
  3. (compute-node) jupyter lab --port=9000 --no-browser &
  4. (compute-node) exit
  5. (login-node) ssh -N -f -L 8899:localhost:9000 compute-node
  6. (login-node) exit
  7. (local) ssh -N -f -L 8888:localhost:8899 user@login-node -i ~/.ssh/key

Я пытаюсь собрать скрипт bash для автоматического выполнения этого набора команд, и у меня возникают проблемы с этим

#!/bin/sh

A="user@login-node -i ~/.ssh/key"
ssh $A '
ssh compute-node 
jupyter lab --port=9000 --no-browser &
exit
ssh -N -f -L 8899:localhost:9000 compute-node
exit
ssh -N -f -L 8888:localhost:8899 user@login-node -i ~/.ssh/laptop_to_chef
'

Я не знаю, как правильно вложить эти ssh команды, как мне автоматизировать цепное туннелирование? Как мне легко перезапустить это после разрыва соединения?

...