我经常在远程服务器上的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
命令,如何自动执行链式隧道传输?连接中断后如何轻松地重新启动?