2021年9月8日星期三

甲骨文云使用VNC远程连接

 

甲骨文云使用VNC远程连接

介绍一下使用VNC的场景。比如:SSH无法登陆到服务器。

原理

具体原理不大懂,操作细节是这样的。

  1. 准备一台具有公网的Linux系统的VPS,通过此VPS中转本地链接到Oracle Cloud。
  2. 在本地Win系统运行VNC工具软件,输入中转VPS的IP和Port,连接到Oracle Cloud的VNC。

一、准备登录Oracle Cloud的密钥

1.1登陆Linux服务器输入命令

ssh-keygen  #生成SSH KEY命令

选择默认,一路回车即可。

1.2界面如下

root@debian:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:flk6iXPjW5hM/13naqD/SFoCbHWVooQujQf+c root@debian
The key's randomart image is:
+---[RSA 3072]----+
| . o. .+ |
|. o . ...* . . |
| o . ...B . . . |
| . . .+.. . . |
| . oS + o |
| oEO X. |
| *.&oo. o|
| =+= ..oo|
| oo..o.o|
+----[SHA256]-----+

1.3 获取SSH公钥

1.3.1 方法一

cat ~/.ssh/id_rsa.pub

将内容拷贝保存。

1.3.2 方法二

将/root/.ssh/id_rsa.pub文件下载到本地。

二、配置甲骨文实例控制台

  1. 进入甲骨文实例界面
    具体为:计算-实例-实例详细信息-控制台连接 页面
  2. 往下拉滚动条,点左下角的“资源”-“控制台链接”
    会看到“启动 Cloud Shell 连接”和“创建本地连接”
  3. 选择“创建本地连接”,选择“上载公共密钥文件 (.pub)”或“粘贴公共密钥”,不要选择“为我生成密钥对”。
  4. 选“上载公共密钥文件”的话就将1.3.2下载到本地的pub文件上传就可以了。
  5. 选“粘贴公共密钥”的话将1.3.1拷贝的内容粘贴。
  6. 等待10秒左右,状态“正在创建”变为“绿色原点”活动时,点击本行最后面的三个竖排小点。
  7. 选择“复制Linux/Mac的VNC连接”

三、配置中转VPS

  1. 在中转VPS的SSH窗口按CTRL+Shift+V,将复制的链接粘贴到SSH窗口。
  2. 将连接中的localhost:5900改为0.0.0.0:5900
  3. 状态如下
    ssh -o ProxyCommand=’ssh -W %h:%p -p 443 ocid1.instanceconsoleconnection.oc1.ap-osaka-1.ans26vf6sidah3goowhag2sajq@ instance-console.ap-osaka-1.oci.oraclecloud.com’ -N -L localhost(改为:0.0.0.0) :5900  cid1.instance.oc1.ap-osaka-1.anvwsljr562bk5ycwbmle2l4jd5byhxuduecjfi4zn2zdsg4yl2sjtmeir5q :5900 ocid1.instance.oc1.ap-osaka-1.anvwsl4zn2zdsg4yl2sjtmeir5q
  4. 第一次执行时,需要输入yes。

四、最重要的

4.1 Oracle Cloud

开放Oracle Cloud子网的5900端口。

4.2 中转VPS

开放中转VPS的5900端口。

五、连接VNC

下载VNCviewer软件,输入中转VPS的IP :5900运行即可。

六、参考

  1. Oracle Cloud利用VNC拯救失联服务器(Linux和Windows)
  2. 【Oracle Cloud】甲骨文云使用VNC远程连接