admin 发表于 2022-1-9 12:15:40

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

什么情况下会用到 VNC ?比如服务器无法正常启动,SSH无法正常登陆到服务器,这个时候需要利用VNC上服务器上排查一下问题!常的场景:1)DD 系统服务器失联。 2)SSH密码忘记。本文主要分为2部分。第一部分是利用Linux,第二部分是利用Windows 10。其中Linux相对来说简单一些!Linux版这部分操作使用的是利用CentOS 7 + VNCviewer绿色版!准备工作1)VNC链接工具,【VNC Connect】或者【VNCviewer绿色版(解压密码:http://RUYO.net)】。2)准备一台Linux服务器。生成SSH KEY1)登陆Linux服务器输入命令!

12//生成SSH KEYssh–keygen

2)命令执行效果如下!

12345678910111213141516171819202122# ssh–keygenGenerating 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.localdomainThe key’s randomart image is:+—–——+| . o . . || . o o + || . ..+.. || ..oooo..|| So..+. o.|| . .= .+ || . *+ Eo|| . ++oO+=|| .o.+OO%*|+————–+#

3)获取SSH公钥:cat ~/.ssh/id_rsa.pub (公钥后面会用到)SSH私钥位置: ~/.ssh/id_rsa配置控制台1)登陆Oracle Cloud控制台,打开实例详细信息 – 控制台连接 – 点击【创建控制台链接】
https://pic2.zhimg.com/80/v2-cd9d5562280d86ffd64e2712f2642369_720w.jpg
2)将 SSH公钥 复制到SSH密钥输入框内,保存!
https://pic3.zhimg.com/80/v2-fd5128383ea06fbafc71458ea62b4c96_720w.jpg
3)等到链接的状态变成【活动】,点击【⋮】 – 【复制Linux/Mac的VNC连接】
https://pic3.zhimg.com/80/v2-70e2d9ddd6ec3b23e8471c635d2d6522_720w.jpg
创建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.anuwgljr2ano4pqcpkcs63uecyrs5xxxkytctumtoa2)将命令粘贴到Linux服务器命令行执行。注意:第一次执行命令有2个位置,需要输入 yes 回车!
https://pic4.zhimg.com/80/v2-85298fed311ffaa3d66a6affaa2782f7_720w.jpg

admin 发表于 2022-1-9 12:16:59

VNC连接服务器使用VNC 客户端链接即可!然后就成功了!!服务器IP:8000
https://pic4.zhimg.com/80/v2-e6692f7285ffc4fc838c0d11e28a7507_720w.jpg

https://pic3.zhimg.com/80/v2-18e0a060504fe582888225f6bbd94ada_720w.jpg
Windows版这部分操作使用的是 Windows 10 + VNCviewer绿色版准备工作1)VNC链接工具,【VNC Connect】或者【VNCviewer绿色版(解压密码:http://RUYO.net)】。2)Windows 10 需要安装 Git 和 PuTTY(下载地址参考附录部分)提醒:PuTTY须安装到 C:\Program Files\生成SSH KEY这里严重不建议使用 PuTTY 生成 SSH KEY!1)利用Git Bash生成!打开菜单 – Git – Git Bash
https://pic4.zhimg.com/80/v2-fc5fd5fce885ec7fcd6aef71621ca2a7_720w.jpg
2)执行命令生成SSH 密钥!

12//生成SSH KEYssh–keygen


https://pic4.zhimg.com/80/v2-bd671438275398aae49e6dd69835a953_720w.jpg
3)密钥默认存放位置:C:\Users\ruyo\.ssh\ 目录。(其中ruyo为当前操作系统登陆用户的用户名)
https://pic2.zhimg.com/80/v2-edfe198fe077055d202c6e2804136075_720w.jpg
SSH公钥:id_rsa.pubSSH私钥: id_rsa配置控制台这里和Linux版的操作基本一样,将SSH公钥复制进去!等到链接的状态变成【活动】,点击【⋮】 – 【复制Windows的VNC连接】
https://pic3.zhimg.com/80/v2-7ee1ea9f987d1c0679ecf1a62c8e0d2e_720w.jpg
SSH私钥转换由于Oracle Cloud VNC 识别不了上面的SSH私钥,需要利用下面的工具转一下!1)打开菜单 – PuTTY – PuTTYgen
https://pic3.zhimg.com/80/v2-0a612c5501d78a90a41e7d3b77d7c8ba_720w.jpg
2)打开的界面点击【Load】,选择上面生成的SSH私钥。如图操作,选择id_rsa ,出现提示框点击确定即可!
https://pic1.zhimg.com/80/v2-7cc3e75bd197a5ec63f6728c953681d0_720w.jpg

https://pic3.zhimg.com/80/v2-c72474c18a5860e08c616b801f252ff2_720w.jpg
3)点击【Save private key】,将转换后的私钥保存到文件目录(记住该文件目录后面要用到!)。PS:尽量要保存到 .ssh 目录中,命名要ruyo.ppk (后面有一键生成命令必须这样!)
https://pic2.zhimg.com/80/v2-65b2458098575f69bf6cd551def1900d_720w.jpg

https://pic1.zhimg.com/80/v2-534bd786a8b1dafb00c5e2e0befd7fc4_720w.jpg
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 http://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 http://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 或者 开始菜单鼠标右键)
https://pic3.zhimg.com/80/v2-9ea6d765b161aea6cfbf93b0c27bb4ce_720w.jpg
2)在2个 PowerShell 分别执行 2条VNC命令。提醒:命令执行后,显示 Access granted. Press Return to begin session. 需要再按一次回车!!
https://pic3.zhimg.com/80/v2-1a5f80e17ea10cae395d14fbaed14762_720w.jpg

https://pic1.zhimg.com/80/v2-44dc9d4e8e45b41ff93b9e4cd4fd11a0_720w.jpg
VNC连接服务器使用VNC 客户端链接即可!然后就成功了!!localhost:5900这里我们使用默认端口基本上没啥太大问题!
https://pic2.zhimg.com/80/v2-e9b5bc2b0c616f13aaab59483ce53dbd_720w.jpg

https://pic3.zhimg.com/80/v2-760f962d1dd58d27fb9227103494341a_720w.jpg
附录Git下载地址:https://git-scm.com/downloadsPuTTY下载地址:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html最后总结本文有几个疑惑不知道原因,知道的大佬可以留言指导一下!1)为什么PuTTY 生成的 SHH 密钥 无法识别?(怀疑是密钥类型或者长度)2)直接复制VNC原始命令不能执行?(原命令有一些错误不显示,命令有2步确认的操作?)以上博主没有做深入的摸索!
页: [1]
查看完整版本: Oracle Cloud利用VNC拯救失联服务器(Linux和Windows)