From: https://luotianyi.vc/4199.html

Oracle在去年九月的开发者大会上宣布了进军公有云市场的规划,并承诺向开发者提供2个永久免费的OPC资源以及其他包括对象存储、数据库等一系列的云计算资源。

 

博主是去年9.17注册的,经历了几次折腾之后才比较安稳地用上。注册之后我记得我开了两台都是因为密钥配置错误连不上的,后来就再开不出来了,直到一个多月以后才开出来一台。最近注册的门槛又降低了,趁着这个热度水一水吧。

Oracle Cloud VNC远程连接

另一台因为折腾换内核,直接失联了两次,失联之后才认识到问题的严重性,UEFI引导有些一键脚本执行下来就是送命的。不过其实甲骨文是提供了VNC的,只是用起来比较复杂,在尝试的过程中还是绕了一些弯路,在这里就简单讲讲我使用的连接方法。


一、准备密钥

首先准备一台Linux系统的VPS用于转发及认证VNC,在SSH中执行ssh-keygen,生成当前系统的公钥及私钥;所有的选项默认即可,这里为了方便用不着设置密码,毕竟不是作为公开使用的。在生成完成后将/root/.ssh/目录下id_rsa.pub保存下来,将其中的公钥内容复制下来。

Oracle Cloud VNC远程连接


二、设置VNC

进入甲骨文的控制台,打开实例的面板,在左下角找到控制台连接,点击创建控制台连接

Oracle Cloud VNC远程连接

选择粘贴SSH密钥,将刚才生成的id_rsa.pub中的公钥内容粘贴进去,当然直接把.pub上传上去也可以。

Oracle Cloud VNC远程连接

创建好后,选择菜单中的复制Linux/Mac的VNC连接,将复制出来的内容粘贴在文本编辑器中。


ARM的部分实例在VNC中可能会出现无法输入的情况,可以选择复制Linux/Mac串行控制台的指令,与VNC一样在ssh中执行同样可以进入一个基于文本的串行控制台页面。串行控制台可以搭配netboot.xyz引导实现在线重装,需要把对应版本的efi放置在ESP分区。

# 将netboot.xyz下载到/boot/efi/EFI
x86_64:https://boot.netboot.xyz/ipxe/netboot.xyz.efi
arm64:https://boot.netboot.xyz/ipxe/netboot.xyz-arm64.efi

接下来连接到串行控制台,这时由于窗口未发生变化串行控制台可能没有输出。在网页的服务器管理页面点击重新引导使服务器重启,同时在开启串行控制台的ssh窗口中持续按F2直至进入BIOS页面。在BIOS中依次进入①Boot Maintenance Manager、②Boot From File、③默认盘、④EFI,找到EFI文件夹下的netboot.efi回车进入启动。注意在串行控制台下只能使用Text Install,后续手动的安装过程在此就不再赘述。


三、开启VNC

到刚才提取公钥的Linux VPS上面,将先前导出的VNC连接配置文件中的监听地址localhost:5900改为0.0.0.0:5900,监听地址也可以是ifconfig获取到的本机网卡IP。

Oracle Cloud VNC远程连接

随后你可以选择直接复制到ssh的console去执行,也可以放进一个.sh脚本中执行,效果是相同的;执行后可以看到由于是导出公钥的VPS,首次连接两次确认的询问直接输入yes即可,无需你指定私钥即可通过系统的私钥完成认证。

Oracle Cloud VNC远程连接

最后在安全组及VPS的防火墙上放行5900端口,检测到端口已被占用后即可。


四、连接VNC

前往RealVNC的网站上下载VNC Connect这个软件(点击前往),支持的平台很多,亦或者其他的VNC工具都是可以的。

 

在软件中直接输入你的Linux VPS的IP:5900,回车即可开始连接。

Oracle Cloud VNC远程连接

其中的不安全报错直接忽略即可,随后可以看到VNC的窗口已正常打开,随后该怎么处理问题就怎么处理。

Oracle Cloud VNC远程连接


五、文末结语

甲骨文的VNC连接不止这一种方式,但是这是最简单的一种,如果使用自己的密钥需要在执行的命令中手动指定私钥去完成连接,直接在本地也就是一样的道理。由于在VPS上认证转发建立后是未加密的状态,使用完后请及时关闭或者自己在监听IP那里指定一个不常用的端口。

至于用作转发的VPS,选择一个到你本地比较流畅的即可,VNC本身产生的流量很小,我是建立在另一台甲骨文的OPC上面,用起来是很顺畅的。

最早我也觉得这个VNC太麻烦没啥用,但是直到有一次重启之后网卡不能自己启动,无奈才用到VNC,尝试一次后其实并不算复杂。这个机器能不折腾尽量还是不折腾,即使引导卷可以挂载到另一台机器上dd,最终还是能用就好了,毕竟不知道哪天就会没了(笑)。