什么情况下会用到 VNC ?比如DD系统服务器失联、SSH密码忘记等等导致服务器无法正常启动,又不想删除服务区重建时,我们就需要利用VNC上服务器上排查一下问题!
VNC的连接有2种:Linux 和 Windows,其中 Linux 要简单的多,所以这里我们就以 Linux 系统为例来说一说。
一、准备密钥
首先准备一台Linux系统的VPS用于转发及认证VNC,在SSH中执行ssh-keygen,生成当前系统的公钥及私钥;所有的选项默认即可,这里为了方便用不着设置密码,毕竟不是作为公开使用的。在生成完成后将/root/.ssh/目录下id_rsa.pub保存下来,将其中的公钥内容复制下来。(/root/.ssh/目录中id_rsa为私钥,id_rsa.pub为公钥。你也可以备份下来,用于更换服务器时使用。)
二、设置VNC
进入甲骨文的控制台,打开实例的面板,在左下角找到控制台连接,点击创建控制台连接。
选择粘贴SSH密钥,将刚才生成的id_rsa.pub中的公钥内容粘贴进去,当然直接把.pub上传上去也可以。
创建好后,选择菜单中的复制Linux/Mac的VNC连接,将复制出来的内容粘贴在文本编辑器中。
三、开启VNC
到刚才提取公钥的Linux VPS上面,将先前导出的VNC连接配置文件中的监听地址localhost:5900改为0.0.0.0:5900,监听地址也可以是ifconfig获取到的本机网卡IP。
随后你可以选择直接复制到ssh的console去执行,也可以放进一个.sh脚本中执行,效果是相同的;执行后可以看到由于是导出公钥的VPS,首次连接两次确认的询问直接输入yes即可,无需你指定私钥即可通过系统的私钥完成认证。
最后在安全组及VPS的防火墙上放行5900端口,检测到端口已被占用后即可。
四、连接VNC
前往RealVNC的网站上下载VNC Connect这个软件(点击前往),支持的平台很多,亦或者其他的VNC工具都是可以的。
在软件中直接输入你的Linux VPS的IP:5900,回车即可开始连接。
其中的不安全报错直接忽略即可,随后可以看到VNC的窗口已正常打开,随后该怎么处理问题就怎么处理。
五、文末结语
甲骨文的VNC连接不止这一种方式,但是这是最简单的一种方式之一,如果使用自己的密钥需要在执行的命令中手动指定私钥去完成连接,直接在本地也就是一样的道理。由于在VPS上认证转发建立后是未加密的状态,使用完后请及时关闭或者自己在监听IP那里指定一个不常用的端口。
至于用作转发的VPS,选择一个到你本地比较流畅的即可,VNC本身产生的流量很小,我是建立在另一台甲骨文的OPC上面,用起来是很顺畅的。