Oracle Cloud 甲骨文 利用VNC拯救失联服务器(Linux和Windows)

前几天Oracle Cloud注册成功率又放水!又有一批网友上车了!这个马甲将甲骨文云VNC部分内容完善一下!

什么情况下会用到 VNC ?比如服务器无法正常启动,SSH无法正常登陆到服务器,这个时候需要利用VNC上服务器上排查一下问题!

常的场景:1)DD 系统服务器失联。 2)SSH密码忘记。

Linux版

这部分操作使用的是 CentOS 7 + VNCviewer绿色版

准备工作

1)VNC链接工具,【VNC Connect】或者【VNCviewer绿色版】。

2)准备一台Linux服务器。

 

生成SSH KEY

1)登陆Linux服务器输入命令!

1
2
//生成SSH KEY
sshkeygen

2)命令执行效果如下!

[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
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:QfclO+AvXZ/O6vGNfzo4P2pftiHRoKG2fgc5p9bvu1o root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|        . o . .  |
|       . o o +   |
|        . ..+..  |
|         ..oooo..|
|        So..+. o.|
|        . .= .+  |
|         .  *+ Eo|
|        .  ++oO+=|
|         .o.+OO%*|
+----[SHA256]-----+
[root@localhost ~]#

3)获取SSH公钥:cat ~/.ssh/id_rsa.pub (公钥后面会用到)

SSH私钥位置: ~/.ssh/id_rsa

配置控制台

1)登陆Oracle Cloud控制台,打开实例详细信息  – 控制台连接 – 点击【创建控制台链接】

 

 

2)将 SSH公钥 复制到SSH密钥输入框内,保存!

 

3)等到链接的状态变成【活动】,点击【⋮】 – 【复制Linux/Mac的VNC连接】

 

创建SSH代理

1)需要在Linux服务器上将端口开放,默认使用的端口是5900,建议不要使用这个端口,我已经将端口换成 8000!

将上面复制的内容中的 5900 换成 8000  (如果8000被占用,就换其他的)

ssh -o ProxyCommand=’ssh -W %h:%p -p 443 ocid1.instanceconsoleconnection.oc1.ap-seoul-1.anuwgljr2ano4pqcwnhqj5tw4wgrxxxo6ba@instance-console.ap-seoul-1.oraclecloud.com’ -N -L localhost:5900:ocid1.instance.oc1.ap-seoul-1.anuwgljr2ano4pqcpkcs63uecyrs5bqmhsblzgtkygtjvhb666kytctumtoa:5900 ocid1.instance.oc1.ap-seoul-1.anuwgljr2ano4pqcpkcs63uecyrs5xxxkytctumtoa

 

2)将命令粘贴到Linux服务器命令行执行。

注意:第一次执行命令有2个位置,需要输入 yes 回车!

 

 

VNC连接服务器

使用VNC 客户端链接即可!然后就成功了!!

服务器IP:8000

 

 

 

Windows版

这部分操作使用的是 Windows 10 + VNCviewer绿色版

准备工作

1)VNC链接工具,【VNC Connect】或者【VNCviewer绿色版】。

2)Windows机器需要安装 Git 和 PuTTY(下载地址参考附录)

提醒:PuTTY须安装到 C:\Program Files\  

 

生成SSH KEY

这里严重不建议使用 PuTTY 生成 SSH KEY!

1)打开菜单 – Git – Git Bash

 

2)执行命令生成SSH 密钥!

 

3)密钥存放位置:C:\Users\ruyo\.ssh\ 目录。(其中ruyo为当前登陆用户的用户名)

SSH公钥:id_rsa.pub

SSH私钥: id_rsa

 

配置控制台

这里和Linux版的操作基本一样,将SSH公钥复制进去!

等到链接的状态变成【活动】,点击【⋮】 – 【复制Windows的VNC连接】

 

 

SSH私钥转换

由于Oracle Cloud VNC 识别不了上面的SSH私钥,需要利用下面的工具转一下!

1)打开菜单 – PuTTY – PuTTYgen

 

 

2)打开的界面点击【Load】,选择上面生成的SSH私钥。

如图操作,选择id_rsa ,出现提示框点击确定即可!

 

3)点击【Save private key】,将转换后的私钥保存到文件目录(记住该文件目录后面要用到!)。

PS:尽量要保存到 .ssh 目录中,命名要ruyo.ppk  (后面有一键生成命令必须这样!)

 

 

VNC命令重构

主要是替换以下

1)替换 plink.exe 文件目录

2)替换PPK文件目录

3)将1条命令 转成2条命令来执行

 

原始命令:

Start-Job { Echo N | plink.exe -i $env:homedrive$env:homepath\oci\console.ppk -N -ssh -P 443 -l ocid1.instanceconsoleconnection.oc1.ap-seoul-1.anuwgljr2ano4pqcwnhqj5tw4wgrpmkuib4yah2naclpvcemkr27ajq5o6ba -L 5905:ocid1.instance.oc1.ap-seoul-1.anuwgljr2ano4pqcpkcs63uecyrs5bqmhsblzgtkygtjvhb666kytctumtoa:5905 instance-console.ap-seoul-1.oraclecloud.com }; sleep 5; plink.exe -i $env:homedrive$env:homepath\oci\console.ppk -N -L 5900:localhost:5900 -P 5905 localhost -l ocid1.instance.oc1.ap-seoul-1.anuwgljr2ano4pqcpkcs63uecyrs5bqmhsblzgtkygtjvhb666kytctumtoa

 

转换后命令:

第一条命令:
cd ‘C:\Program Files\PuTTY\’
.\plink.exe -i $env:homedrive$env:homepath\.ssh\ruyo.ppk -N -ssh -P 443 -l ocid1.instanceconsoleconnection.oc1.ap-seoul-1.anuwgljr2ano4pqcwnhqj5tw4wgrpmkuib4yah2naclpvcemkr27ajq5o6ba -L 5905:ocid1.instance.oc1.ap-seoul-1.anuwgljr2ano4pqcpkcs63uecyrs5bqmhsblzgtkygtjvhb666kytctumtoa:5905 instance-console.ap-seoul-1.oraclecloud.com第二条命令:
cd ‘C:\Program Files\PuTTY\’
.\plink.exe -i $env:homedrive$env:homepath\.ssh\ruyo.ppk -N -L 5900:localhost:5900 -P 5905 localhost -l ocid1.instance.oc1.ap-seoul-1.anuwgljr2ano4pqcpkcs63uecyrs5bqmhsblzgtkygtjvhb666kytctumtoa

 

命令一键转换:https://51.ruyo.net/test/oracle_cloud_vnc_convert.html

 

启动plink代理

1)启动2个 PowerShell  (Win + X  或者 开始菜单鼠标右键)

 

2)在2个 PowerShell 分别执行 2条VNC命令。

提醒:命令执行后,显示 Access granted. Press Return to begin session. 需要再按一次回车!!

 

VNC连接服务器

使用VNC 客户端链接即可!然后就成功了!!

localhost:5900

这里我们使用默认端口基本上没啥太大问题!

 

 

附录

Git下载地址:https://git-scm.com/downloads

PuTTY下载地址:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发