关于ssh的X11Forwarding功能和vnc端口冲突的问题

前言

偶然间发现有时vnc端口启动不了,显示端口已经启动,但是查看发现默认的59xx端口未启动,但是60xx端口缺被一个sshd进程占用,vnc服务除了默认的59xx端口,还会用到60xx端口。

正是因为这个60xx端口被sshd进程占用,所以vnc才启动不了。

 那么这个sshd端口是干嘛的呢,默认的sshd端口不是22吗?

查询后发现原来这个60xx端口是ssh的X11Forwarding所需要的端口。

X11Forwarding是什么

简单来说:X11Forwarding 是一项用于在SSH连接中转发X server图形界面的功能;通过此功能可以在本地计算机运行远程服务器上的图形化界面。

比如这样:

 windows下可以通过安装Xming X Server,然后就可以在xshell或者PuTTY等终端实现X11Forwarding启动图形化软件。

 如果使用MobaXterm的话可以直接实现X11Forwarding,此软件自带X Server无需单独安装Xming。

如何解决于VNC端口冲突

那么如何解决X11Forwarding和vnc端口冲突呢?

方案其实很多,这里列举几种。

1、关闭X11Forwarding功能。

如果用不到此功能可以关闭(默认是打开的)。

vi /etc/ssh/sshd_config #X11Forwarding改为no

 2、修改X11Forwarding的使用端口

修改端口使X11Forwarding避开60xx端口。

打开/etc/ssh/sshd_config文件,修改以下配置项:

X11Forwarding yes
X11DisplayOffset 110 

X11DisplayOffset表示SSH连接的X11显示端口号的偏移量。默认是10,即从6010端口开始。
这里修改为110即表示从端口6110开始,从而避开了60xx与vnc冲突的端口。

3、修改vnc的端口,使其避开60xx端口。

修改vncserver这个文件即可,具体在此不做阐述。

posted @ 2024-07-22 18:39  書劍飄零  阅读(7)  评论(0编辑  收藏  举报