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

文章目录

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

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

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

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

更多内容:Oracle Cloud注册 / Oracle Cloud

本文主要分为2部分。第一部分是利用Linux,第二部分是利用Windows 10。其中Linux相对来说简单一些!

 

Linux版

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

准备工作

1)VNC链接工具,【VNC Connect】或者【VNCviewer绿色版(解压密码:RUYO.net)】。

2)准备一台Linux服务器。

 

生成SSH KEY

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

 

2)命令执行效果如下!

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绿色版(解压密码:RUYO.net)】。

2)Windows 10 需要安装 Git 和 PuTTY(下载地址参考附录部分)

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

 

生成SSH KEY

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

1)利用Git Bash生成!

打开菜单 – 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

 

最后总结

本文有几个疑惑不知道原因,知道的大佬可以留言指导一下!

1)为什么PuTTY 生成的 SHH 密钥 无法识别?(怀疑是密钥类型或者长度)

2)直接复制VNC原始命令不能执行?(原命令有一些错误不显示,命令有2步确认的操作?)

以上博主没有做深入的摸索!

 

参考文献:

https://www.hostloc.com/thread-595146-1-1.html

https://luotianyi.vc/4199.html

 

原文链接:,转发请注明来源!

发表评论

要发表评论,您必须先登录

  • 21 Responses to “Oracle Cloud利用VNC拯救失联服务器(Linux和Windows)”
    • smj5

      请问 VNC连上了,登录信息到哪里找 ,user 是opc好像,密码是啥呀?

      • vnc上去 可以直接重置密码呀

        • 我是小白。。连上VNC后,要输入用户名和密码,才可以登录啊

          smj5
          • 你需要在启动到桌面之前,修改相关信息。一般用vnc是拯救服务器无法启动的情况。看一些启动过程中到底卡在什么位置了!
            如果大佬你想改密码可以参考另一篇文章:https://51.ruyo.net/14288.html

    • 1

      一条命令或者分成两条命令执行,都出现以下错误,请问是什么问题呢,谢谢
      ==============
      无法将“.\plink.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确
      ,然后重试。

    • ruyousr

      信息共享:我将ORACLE云新建控制台生成的命令,直接黏贴到PowerShell控制台里执行,能够成功执行,并成功连接VNC。ORACLE云新建控制台命令如下:“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.anuwgljrtvexyaqcgd7nqcsvthhqgs3xxxxxxxxxxxxxxxxxxx -L 5905:ocid1.instance.oc1.ap-seoul-1.anuwgljrtvexyaqchmvkb642oqsakxxxxxxxxxxxxxxxxxxx: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.anuwgljrtvexyaqchmvkb642oqsakkkn3xxxxxxxxxxxxxxxxxxx”。执行成功后显示:“Id Name PSJobTypeName State HasMoreData Location Command
      -- ---- ------------- ----- ----------- -------- -------
      1 Job1 BackgroundJob Running True localhost Echo N | plink.exe -i...
      The server's host key is not cached in the registry. You
      have no guarantee that the server is the computer you
      think it is.
      The server's rsa2 key fingerprint is:
      ssh-rsa 4096 49:54:0e:b4:61:01:8a:71:e9:xxxxxxxxxxxxxxxxxxx
      If you trust this host, enter "y" to add the key to
      PuTTY's cache and carry on connecting.
      If you want to carry on connecting just once, without
      adding the key to the cache, enter "n".
      If you do not trust this host, press Return to abandon the
      connection.
      Store key in cache? (y/n) y
      Using username "ocid1.instance.oc1.ap-seoul-1.anuwgljrtvexyaqchmvkb642oqsxxxxxxxxxxxxxxxxxxx".
      Access granted. Press Return to begin session.”。

    • 3dfd

      创建控制台的时候报错 An internal error occurred.

    • ixiaotian

      failed to connect to server 艹

    • bsk

      博主,VNC绿色版的解压密码是什么?

    • bsk

      博主,你发的 VNCviewer绿色版 的解压密码是多少啊?

    • yinghuo

      请教贵站的Related Posts是哪个插件实现的呢

    • 你大哥的小弟

      请问 这个登录上 login的信息到哪里找 ,我的 user 给的opc好像
      密码是啥

    • 我太惨了。

      ??我前两天刚终止了一台,启动不了的机器。。。过来搜一下就有这个????
      现在新建不了了。。。今年2月份建的账号。

    • Eluyee

      我就是用Puttygen生成的密钥,用Putty连接,很顺畅啊,没有你说的无法识别的问题。

    • 张飞

      作者,上次52G的密码是多少。

    • 奥利给

      作者牛逼。

    • aaaq

      我上次就忘了,只好删除新建了一个,好在里面没啥数据。