Я часто работаю в ноутбуках Jupyter на удаленных серверах и обнаруживаю, что повторяю набор команд (особенно при потере соединения) для настройки моей рабочей станции.
В моем текущем рабочем процессе:
(local) ssh user@login-node -i ~/.ssh/key
(login-node) ssh compute-node
(compute-node) jupyter lab --port=9000 --no-browser &
(compute-node) exit
(login-node) ssh -N -f -L 8899:localhost:9000 compute-node
(login-node) exit
(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
команды, как мне автоматизировать цепное туннелирование? Как мне легко перезапустить это после разрыва соединения?