关于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这个文件即可,具体在此不做阐述。
作者:書劍飄零
本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。