一. 问题产生的背景
安装好虚拟机配置成功网络后,终于可以开始学习 Linux 命令啦!我兴致勃勃地打开 Xshell 6,准备用它来连接虚拟机,这样以后就不用频繁的在虚拟机和主机之间切换来切换去咯。在我新建连接会话并输入 root 账号及密码登录成功后,想要一展拳脚的时候,界面出现了一个警告:WARNING!the remote SSH server rejected X11 forwarding request.
二、一盆冷水泼下来,好多疑问涌上心头!
1. 这一串英文什么意思啊?
用我蹩脚的英语大概翻译了下,猜测是在说:远程 SSH 服务器拒绝 X11 转发请求。
哦~
2. 那 X11 又是什么东西呢?
百度百科 解释的很详细啊,去看看吧:https://baike.baidu.com/item/X11。
可是没看懂,不过我大概能猜到这个 X11 可能代表一个协议。
嗯~
3. 好吧,但是这个 X11 跟我 Xshell 又有什么关联呢?怎么解决?
哒哒哒哒哒哒哒...........敲键盘
百度了很多文章,似懂非懂地学到了一些皮毛:
https://blog.csdn.net/salonzhou/article/details/16358711
https://blog.51cto.com/tomasyoung/1812532
哦~ 看下来,就是说 X11 的转发配置有问题呀 ~
4. OK,明白了,那现在我怎么解决呢?
2条路给你选,你自己看着办吧~
① 继续亲切友好的相处,他缺什么,给他!
a. 先检查 sshd 的配置文件,确认参数设置没问题(X11Forwarding yes 就对了) ;
b. 执行 yum install xorg-x11-xauth 命令。因为要使用 X11 Forwarding 需要安装 rpm 包 xorg-x11-xauth 。
更详细的博文见 https://www.fcwys.cc/archives/316.html
但是执行完这个命令后,它又会提示我 “ file /toot/.xauthority does not exist” ,应该还是某个配置文件缺失,到这一步觉得还是没有最终解决,需要查资料,此路暂时不通,时间紧迫,避免在此迂回作战,可以不纠结它,当它不存在。
如果实在看着难受,还是选第二条路吧~
② 大家这么不合适,不如我们先各自分开一段时间,以后再联络,可好?
反正这个 X11 转发的目的也只是为了要获取图形界面,暂时我也用不到,不如先简单点,去掉这个功能。
这下可不就容易多了!点击 “文件” - “属性”,打开虚拟机属性对话框。把隧道下面的 X11 转移 前面的勾选 去掉。再次重新连接,就没有这个问题了。
5. 哎呀,我刚刚一不小心安装的那个包呢?要不要删除掉啊?放在里面总有种脏垃圾没有清理掉的感觉呢!
别着急!用下面这2个命令,能帮到你!
1. 使用 【rpm -qa | grep -i 软件名】命令确认是不是真的安装成功了(上文中安装的软件是 xorg-x11-xauth) ;
2. 根据情况选择下面的命令来删除已安装的软件包。
sudo rpm -e -- 包名 # 普通删除模式
sudo rpm -e --nodeps 包名 #强力删除模式,如果用上面命令删除时,提示有依赖的其他文件,则用该命令可以对其进行强力删除
6. 说到底,还是没明白 X11转发 能干嘛呀!
嗯,让我来抛砖引玉!
根据我的理解,X11转发 可以让 Xshell 实现配置图形界面(个人臆想)。看看下面的文章,人家说的好多啦:
https://jingyan.baidu.com/article/5553fa828c4a6065a3393450.html
https://www.cnblogs.com/feiyun8616/p/7872096.html
还有好多疑问呢!接下来等我弄清楚再来写吧。