Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh 如何确定X正在侦听哪些端口?_Ssh_X11_X11 Forwarding - Fatal编程技术网

Ssh 如何确定X正在侦听哪些端口?

Ssh 如何确定X正在侦听哪些端口?,ssh,x11,x11-forwarding,Ssh,X11,X11 Forwarding,我的用例是通过ssh运行nx,本地代理通过隧道连接到远程主机。因为它是隧道式的,所以我告诉nx连接到localhost:port。问题是我需要执行X身份验证,如果我意外地击中了本地X服务器而不是远程X服务器,我会得到一个身份验证错误 如何确定本地X服务器正在侦听的端口,以便在设置隧道时避免它 我目前的解决方法是避免使用任何已经有另一个应用程序监听的本地端口进行隧道传输。通常是屏幕号+6000。例如,如果$DISPLAY是:5端口号是6005如果有多个服务器跨多个帐户运行,则查询DISPLAY变量

我的用例是通过ssh运行nx,本地代理通过隧道连接到远程主机。因为它是隧道式的,所以我告诉nx连接到localhost:port。问题是我需要执行X身份验证,如果我意外地击中了本地X服务器而不是远程X服务器,我会得到一个身份验证错误

如何确定本地X服务器正在侦听的端口,以便在设置隧道时避免它


我目前的解决方法是避免使用任何已经有另一个应用程序监听的本地端口进行隧道传输。

通常是屏幕号+6000。例如,如果
$DISPLAY
:5
端口号是6005

如果有多个服务器跨多个帐户运行,则查询DISPLAY变量并不能提供解决方案。

这将是一个更好的问题。您在谈论什么操作系统?我希望有一个可移植的解决方案。但为了简单起见,我们假设它是CentOS 6.4。我仍然需要知道它实际上在哪个端口上。您有权访问服务器的
$DISPLAY
变量吗?如果没有,唯一的方法是尝试从端口60000开始增量连接。如果有多个服务器跨多个帐户运行,则查询显示变量不会提供解决方案。然后查看X process命令行-
X:3
以:3启动服务器DISPLAY@yaobin