使用带有命令行参数的 SSH 在远程服务器上启动 Firefox

使用带有命令行参数的 SSH 在远程服务器上启动 Firefox

有没有办法通过这种方式使用 SSH 在远程服务器上启动 Firefox ?:

ssh username@ip_address [command line]


当我跑步时:(ssh username@ip_address -Y (or -X) firefox我想启动火狐远程-Ubuntu 桌面-从我的本地-Ubuntu 服务器),我收到此错误:Error: no display specified

重要的提示:我想从 Ubuntu 服务器运行此命令到 Ubuntu 桌面操作系统。

答案1

您可以使用 X Forwarding 来实现这一点。确保您的服务器上安装了 Firefox,然后从您的桌面运行:

ssh username@ip_adress -Y [command line]

如果 -Y 不起作用,您仍然可以使用 -X 代替。

如果它不起作用,请确保:

  • /etc/ssh/sshd_config服务器上,X11Forwarding设置为yes
  • /etc/ssh/ssh_config客户端上,ForwardX11设置为yes。如果需要,请添加以下行。
  • 服务器上安装了 xauth:sudo apt-get install xauth

问候,

托马斯。

答案2

这应该会让你兴奋:

ssh machine DISPLAY=0:0 firefox

刚刚在两台 Ubuntu 机器上尝试了一下。

该语法FOO=asdf BAR=fdsa command arg arg2对 SSH 来说并不特殊,只是为设置环境变量command。您需要告诉 Firefox X11 显示器在哪里 - 在这种情况下,它是与 Firefox 相同的机器。不使用 X11 转发,因为 Firefox 和 X11 服务器都在同一个框中。

也可以看看https://superuser.com/questions/368530/understanding-x-windows-display-environment-variable-when-tunnelling

答案3

简单的远程浏览

如果您想像坐在远程机器前一样在本地浏览网页:

$ ssh -X [email protected]

然后运行 ​​Firefox在远程终端会话中

$ firefox https://test-ipv6.com/

-X注意命令中标志的用法ssh。您也可以一次性完成两个步骤,如下所示:

$ ssh -X [email protected] firefox http://test-ipv6.com/

隧道远程 IP:端口

如果您有一个远程运行的应用程序公开某种 Web 前端,那么您会对将远程 IP:port 公开为本地 IP:port 感兴趣。在这种情况下,选项定义了和-L之间的对应关系,如下面的伪命令所示:localhost:localportremotehost:remoteport

ssh -L localhost:localport:remotehost:remoteport remoteuser@remotehost

例如:

$ ssh -L 127.0.0.1:18080:internal.example.com:8080 [email protected]

然后运行 ​​Firefox本地

$ firefox http://127.0.0.1:18080

在上面的例子中,你通过 SSH 连接到[email protected],并且你对 处公开的 Web 前端感兴趣internal.example.com:8080。此远程 IP:port 将在 处本地公开127.0.0.1:18080

相关内容