我需要从shell脚本中设置几个ssh-tunnels。我尝试使用以下命令将其作为bg任务运行:
#!/bin/sh
ssh -L 3000:server1:5029 me@server2 &
ssh -L 3001:server3:3306 me@server2 &
但是当我以这种方式启动隧道时,它们似乎无法正常工作。
当我在自己的选项卡中手动设置它们时,它们可以正常工作,所以我的下一个想法是让脚本在终端中打开新的选项卡,并在其中运行命令作为前台进程。
注意:这个问题最初是“如何从外壳启动新的终端选项卡,然后在其中运行命令?”,但是我得到了有关处理隧道的两个答案。对于“打开外壳”问题,我在SuperUser上发现了此问题,该问题将起作用,尽管后台的新选项卡比打开的前景窗口更可取。
您是否保持与服务器的活动SSH会话?意思是,您是否在后台运行隧道,并在实际工作中使用前台SSH会话?
—
杰克
到现在为止,我一直打开三个选项卡:每个隧道一个,另外一个用于其他任何选项。我的大部分实际工作都是在Eclipse和浏览器中进行的。
—
sprugman 2011年
(仅使用隧道,因此我可以从本地Tomcat实例访问一些远程数据库。)
—
sprugman 2011年