是的,这很奇怪。我使用 ssh -X 从我的笔记本电脑 (LMDE) 连接到远程主机 (SUSE Linux Enterprise)。我想启动在远程服务器上运行的 Firefox 实例,以便我可以访问私有网络上的网页。
User@RemoteMachine $ which -a firefox
/usr/bin/firefox
User@RemoteMachine $ /usr/bin/firefox --version
Mozilla Firefox 2.0.0.2, Copyright (c) 1998 - 2007 mozilla.org
User@LocalMachine $ which -a firefox
/usr/bin/firefox
User@LocalMachine $ /usr/bin/firefox --version
Mozilla Firefox 14.0.1
现在,如果 Firefox 没有在本地机器上运行,一切都会按预期进行,而firefox
在远程机器上执行会导致 Firefox(v 2.0)窗口在远程机器上运行显示。但是,如果 Firefox是在本地机器上运行第二Firefox 14.0.1 窗口在本地机器上运行出現。
我已经检查了两台机器的 top。在第二种情况下,Firefox 进程短暂地出现在远程机器上,然后在启动本地版本的 Firefox 时消失。
我的问题如下:
怎么回事?Firefox 为何/如何连接到本地计算机上的现有实例?远程计算机似乎可以访问本地计算机。事实上,它似乎有权在我的本地计算机上执行程序。我是否遗漏了什么,还是这很奇怪?
这难道不是一个安全风险吗?
答案1
默认情况下,Firefox 将与现有的 Firefox 进程对话并重用它。
如果您希望覆盖此行为并启动新进程,请-no-remote
在启动第二个 Firefox 进程时添加命令行选项:
firefox -no-remote
答案2
交换机-X
将远程 X 客户端转发到您的本地 X 服务器。Firefox 必须使用一些内部 X Window 系统通信机制来检测它是否已在您的显示器上运行,并告诉已运行的实例打开一个新窗口。