0

我在远程 linux 主机上运行虚拟机:

我的机器 -> linux 主机 -> 在 linux 主机上运行的虚拟机

我在 linux 主机和虚拟机上启用了 X11 转发。我正在尝试在使用 ssh 命令(使用 ssh -X)启动的我自己的机器上的虚拟机上运行 JVisualVM。

我正在使用的 ssh 命令是:

ssh -X -t root@linux_host -L 29998:localhost:29999 ssh -X -t -i /root/.ssh/my_key user@virtual_machine -L 29999:localhost:9999

连接后,我将显示变量设置为:

DISPLAY=<my machine's ip address>:0.0

然后我用这个运行 JVisualVM,期望窗口在我自己的机器上打开:

/usr/java/jdk1.7.0_95/bin/jvisualvm -cp:a /opt/jboss/bin/client/jboss-cli-client.jar --jdkhome /usr/java/jdk1.7.0_95/

但是我要么得到一个显示未设置的错误,要么 JVisual 在几秒钟后退出,错误代码为 2。

4

2 回答 2

1

由于您正在使用ssh -X,您显然希望通过 ssh 使用安全 X 转发。在这种情况下,ssh 应该DISPLAY为您设置变量,并且您不应该通过DISPLAY手动设置来覆盖它。如果DISPLAYssh 没有设置,这意味着您的 ssh 服务器设置禁用了 X 转发(无论出于何种原因),如果可能的话,您应该修复它。

如果您不想(或不能)使用 ssh X 转发,您可以使用直接连接(通过DISPLAY您正在做的设置),但您还需要打开机器上的 X 服务器以进行远程连接。您可以xhost在本地计算机上执行此操作:

xhost <linux host address>

但是请注意,这会将您的本地计算机打开给每个可以访问该 linux 主机的人,或者谁可以欺骗该主机地址(这意味着基本上每个地方的每个人,除非您和 linux 机器都在防火墙内),所以这不是好主意。

于 2016-07-15T18:00:49.903 回答
0

尝试添加

X11UseLocalHost 否

/etc/ssh/sshd_config

于 2016-09-06T01:11:27.393 回答