我想在我的工作机器上运行一个应用程序(称为firefox)。问题是,我需要做一些复杂的ssh调优来获得对它的访问,因为对机器的访问从外部被阻塞,一些端口也在内部被阻塞。所以我做以下几件事。
ssh -v -L 1200:serverC:22 user@serverB (locally)
ssh -v -L 5900:127.0.0.1:5900 -p 1200 user_from_serverC@127.0.0.1 (locally)
x11vnc -safer -localhost -nopw -once -display :0 (on serverC)
vinagre localhost::5900 (locally)然后,我在打开的vnc窗口中运行firefox (比如说),这一切都能工作。
不过,我希望有一个bash脚本,为我这样做。我怎么能把它自动化呢?
有两个问题。
理想情况下,我只需在本地输入“./remote firefox”(例如),以实现这一切。
发布于 2013-04-18 09:18:01
尝试:
x11vnc -safer -localhost -nopw -once -display :0 #Run manually on system_C&关于地方体制,
ssh -t -L 5902:localhost:5901 user_B@server_B 'ssh -t -L 5901:localhost:5900 user_C@server_C' &
#Note: Enable password-less (key based) authentication from "your_pc -> servB" & "servB -> servC"
vncviewer localhost:2 #Run on local system注意:如果命令失败,请尝试更改端口号。在本例中,我试图将其隧道设置如下:
your_PC:5902 <-> server_B:5901 <-> server_C:5900我还没有测试这个2级链(我不知道x11vnc的-display参数是否适用于ssh,但我认为应该这样做):
#Run both lines on local system
ssh -t -L 5902:localhost:5901 user_B@server_B "ssh -t -L 5901:localhost:5900 user_C@server_C 'x11vnc -safer -localhost -nopw -once -display :0'" &
vncviewer localhost:2编辑:可满足以下要求:
是的就这样。但令人恼火的是,servB -> servC的端口5900被阻塞。-安努什
#Run both lines on local system. This may be overhead, but should work.
ssh -t -L 5902:localhost:5901 user_B@server_B "ssh -t -L 5901:localhost:1200 user_C@server_C 'ssh localhost -L 1200:localhost:5900 & x11vnc -safer -localhost -nopw -once -display :0'" &
vncviewer localhost:2https://stackoverflow.com/questions/16077752
复制相似问题