通过图形界面访问Oracle公有云中主机(X11Forwading)
概述Oracle Linux 7虚机,宿主机为Windows。上面已安装数据库软件,尚未创建数据。主机通过vagrant box提供,最初只有字符界面,希望能通过GUI调用dbca。配置目标主机配置本例中,目标主机就是Linux 虚机。设置/etc/ssh/sshd_config文件中的X11UseLocalhost设置为no:X11UseLocalhost no重启sshd服务...
概述
Oracle Linux 7虚机,宿主机为Windows。上面已安装数据库软件,尚未创建数据。
主机通过vagrant box提供,最初只有字符界面,希望能通过GUI调用dbca。
配置
目标主机配置
本例中,目标主机就是Linux 虚机。
设置/etc/ssh/sshd_config文件中的X11UseLocalhost设置为no:
X11UseLocalhost no
重启sshd服务:
# systemctl restart sshd
或者
# service sshd restart
当然也可以检查设置是否生效:
# sshd -T|grep -i x11
x11displayoffset 10
x11maxdisplays 1000
x11forwarding yes
x11uselocalhost no
安装xauth和xterm,后者是测试用的:
yum -y install xauth xterm
客户端配置
安装X Server软件
客户端在本例中就是Windows主机。客户端需要安装X Server。
可以是Xming或Cygwin/X,本例使用前者。
软件下载和过程略,参考文末的文档即可。
安装完成后,运行XLaunch。
配置Putty SSH会话
下载并安装putty。
启用X11 Forwarding:
实际呢,我没有用这个。我用的是命令行,命令行只需指定-X:
D:\vagrant-boxes\OracleLinux\7>vagrant putty -p -- -l oracle -X
getting Proxy Configuration from Host...
这里一定要用数据库用户直接登录(-l oracle),不要通过其它用户su或切换。
说明:
以上命令中的-p选项为使用口令登录,因此我在服务器端开启了口令认证,即在文件中设置PasswordAuthentication 为yes。在生产环境中还是建议SSH登录。
# grep PasswordAuthentication /etc/ssh/sshd_config
PasswordAuthentication yes
# sudo systemctl restart sshd
如果X11 Forwarding设置成功,登录后可以看到DISPLAY变量已设置:
Using username "oracle".
Server refused our key
oracle@127.0.0.1's password:
Last login: Thu Sep 5 07:10:40 2019 from 10.0.2.2
Welcome to Oracle Linux Server release 7.6 (GNU/Linux 4.14.35-1844.4.5.el7uek.x8 6_64)
The Oracle Linux End-User License Agreement can be viewed here:
* /usr/share/eula/eula.en_US
For additional packages, updates, documentation and community help, see:
* http://yum.oracle.com/
/usr/bin/xauth: file /home/oracle/.Xauthority does not exist
[oracle@ol7-vagrant ~]$ echo $DISPLAY
127.0.0.1:10.0
为何DISPLAY从10开始? 是X11DisplayOffset 设定的。
测试:
[oracle@ol7-vagrant ~]$ xterm &
[1] 6654
看到以下界面就成功了:
X Forwarding走的是SSH的22端口,因此不需额外的防火墙设置。
补充
如果用git bash作为客户端,需要设置如下:
export DISPLAY=localhost:0.0
ssh -XY -v user@remote_server
然后在远端主机的DISPLAY才会正确的设置, 然后图形化程序运行正常:
$ echo $DISPLAY
10.0.0.5:10.0
$ xterm
参考
- Running Graphical Applications Securely on Oracle Cloud Infrastructure
- SSH onto Vagrant Box With Different Username
- https://unix.stackexchange.com/questions/50698/fastest-remote-x-from-windows
- https://superuser.com/questions/1217280/why-is-x11-forwarding-so-inefficient
更多推荐
所有评论(0)