在Cygwin上,我想要一个Bash脚本来:
- 创建到远程服务器的SSH隧道。
- 在本地使用该隧道进行一些工作。
- 然后关闭该隧道。
关闭部分让我感到困惑。
目前,我有一个简陋的解决方案。在一个shell中,我运行以下命令来创建隧道:
# Create the tunnel - this works! It runs forever, until the shell is quit.
ssh -nNT -L 50000:localhost:3306 jm@sampledomain.com
接下来,在另一个终端窗口中,我进行我的工作:
# Do some MySQL stuff over local port 50000 (which goes to remote port 3306)
最后,当我完成时,我关闭第一个shell窗口以杀死隧道。
我想把这一切都放在一个脚本里,像这样:
# Create tunnel
# Do work
# Kill tunnel
我该如何跟踪隧道进程,以便知道要终止哪个进程?