记一次Oracle Cloud计算实例ssh恢复过程

#ssh秘钥丢失# , #Oracle Cloud# 。

电脑上的ssh秘钥文件不知道什么时候丢失了,直到用的时候才发现没有了,这下可好,Oracle Cloud的计算实例连不上了,这个实例只能通过ssh连接上去:

以下是解决步骤:

1. 首先请先准备好新的ssh 秘钥文件,通过ssh-keygen -t rsa 生成,这一步就自己准备好就行。

如果是其他工具生成的秘钥,请注意格式问题,如果你不确定自己生成的有没有问题,那么在Oracle Cloud 的网页上,选择新建一个计算实例(这里并不是让你新增一个计算实例,只是用到了其中的生成ssh key的部分),在“添加ssh秘钥”的部分,把系统帮你生成的私钥和公钥都下载下来就行。

下载好了,就可以取消创建计算实例了。

2. 通过网页上的控制台连接到cloud shell:

在计算实例页面的左下方,点击“控制台连接”,然后点击“启动cloud shell连接”

启动好cloud shell后,shell里面会提示你login, 不要管这个,也不要输入什么。这时点击页面上部实例管理操作中的“重新引导” 按钮,稍等片刻,你就会看到cloud shell中有日志不停的刷了,不过,你最好全部看完我下面的步骤再点击“重新引导”,否则有些操作可能会来不及。

3.进入维护模式

这一步主要参考官方文档Troubleshooting Instances Using Instance Console Connections 中的 To boot into maintenance mode 启动进入维护模式 章节,这里我简要说一下

a). 重新引导后,不停的按esc键

b).在出现的菜单中,选择“Boot Manager”,然后按 Enter

c).在 Boot Manager 菜单中,选择 UEFI Oracle BlockVolume,然后按 Enter。立即按下 Esc 键并继续按下直至出现启动菜单。如果窗口中开始出现控制台消息,则表明访问启动菜单的机会已经过去,您需要再次启动重新启动过程。

d).在启动菜单中,突出显示菜单顶部的项目,然后按 e 编辑启动项

f).在你对应的部分(参考官方文档说明)添加 init=/bin/bash , 这里我添加的是: rw init=/bin/bash  ,因为按照官方文档的说法我始终没有成功,这里是另一个参考文章:
I get "Permission denied" when I ssh to my Oracle Cloud Infrastructure compute instance.

添加的位置如下:

​​​​​​​

g). 然后按 ctrl+x 重新启动,启动完,就可以进入维护模式了。

4.重置ssh秘钥

这一步也是参考官方文档中的“To add or reset the SSH key for the opc user 为 opc 用户添加或重置 SSH 密钥” 章节,(还是第三步的那个文档地址)。

但是官网文档在这里说的不全,我有几个地方踩坑了,后面会单独标记出来,以下是重置ssh秘钥的完整步骤:

a).   在 Bash shell 中,运行以下命令来加载 SElinux 策略以保留您正在修改的文件的上下文

/usr/sbin/load_policy -i

b).执行以下命令,重新挂载根分区并赋予读写权限:

/bin/mount -o remount, rw /

c).更改到 opc 用户的 SSH 密钥目录: cd ~opc/.ssh

d).重命名现有的授权密钥文件:mv authorized_keys authorized_keys.old

e). 把自己新的公钥替换上去,也就是第一步中准备好的那个xxxxx.pub文件:

echo '<contents of public key file>' >> authorized_keys

到这里,千万别急,ssh要能连接,权限和owner一定要正确才行,因为我们刚才实际上是新增了一个authorized_keys文件,所以你看一下这个文件的权限实际上不是600,owner也是root(要是opc才行),所以还要执行:

chmod 600 authorized_keys
chown opc:opc authorized_keys

f).执行“ mount -o remount,ro /” 强制操作系统刷新文件系统缓存。它还保证当机器重新启动时文件系统被标记为“干净卸载”。

g).执行“/usr/sbin/reboot -f”以重新启动正在运行的实例

5.大功告成

现在你应该可以在你自己的电脑上,通过  ssh -i xxxxxxx_rsa opc@具体的ip地址 来连接你的计算实例了,-i xxxxx_rsa 就是用你第一步下载的那个私钥的意思。

可是在我这里,还不行,因为我不知道什么原因导致的秘钥丢失,同时把ssh的配置也重置了,我这里此时连接的时候,首先提示了一个rsa错误:

no matching host key type found. Their offer: ssh-rsa

在.ssh目录下的config文件中添加:

HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

如果还有其他的问题,自己搜一下,一般应该没什么问题了。

这里最难的,应该是第三步添加init=/bin/bash 那个地方,cloud shell中光标是根本看不见,我只能盲操作,我的办法是把最后两行全部复制下来,到sublime中手工编辑好,在cloud shell中我是把最后的部分全部删除掉,然后从sublime中粘贴过去的,在sublime中编辑的时候,一定注意要把最后的“\" 字符删掉,内容合成一行就行了,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/231434.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何理解面向对象的OO设计原则和设计模式?

一、如何理解面向对象的编程原则? 单一职责原则(Single Responsibility Principle) 一个类,应该由一组相关性很高的数据和方法组成。一个类应该仅有一个引起它变化的原因。单一职责最难界定的就是关于“职责”的定义,往往需要丰富的经验和对业务的认知程度,这也更加容易引…

frp配置内网穿透访问家里的nas

frp配置内网穿透访问家里的nas 需求 家里局域网内有台nas&#xff0c;在去公司的路上想访问它 其内网地址为&#xff1a; http://192.168.50.8:6002 工具 1.frp版本v0.53.2 下载地址&#xff1a; https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_li…

让人头痛事务问题到底要如何解决?

前言 正好前段时间我在公司处理过这个问题&#xff0c;我们当时由于项目初期时间比较紧张&#xff0c;为了快速完成业务功能&#xff0c;忽略了系统部分性能问题。项目顺利上线后&#xff0c;专门抽了一个迭代的时间去解决大事务问题&#xff0c;目前已经优化完成&#xff0c;并…

PyTorch中常用的工具(4)Visdom

文章目录 前言3.2 Visdom 前言 在训练神经网络的过程中需要用到很多的工具&#xff0c;最重要的是数据处理、可视化和GPU加速。本章主要介绍PyTorch在这些方面常用的工具模块&#xff0c;合理使用这些工具可以极大地提高编程效率。 由于内容较多&#xff0c;本文分成了五篇文…

python识别验证码+灰度图片base64转换图片

一、为后面识别验证码准备 1、base64转换为图片&#xff0c;保存本地、并且置灰 上文中的base64,后面的就是包含Base64编码的PNG图像的字符串复制下来 import base64 from PIL import Image import io# 这里是你的Base64编码的字符串 base64_data "iVBORw0KGgoAAAANSUhE…

Python(wordcloud):根据文本数据(.txt文件)绘制词云图

一、前言 本文将介绍如何利用python来根据文本数据&#xff08;.txt文件&#xff09;绘制词云图&#xff0c;除了绘制常规形状的词云图&#xff08;比如长方形&#xff09;&#xff0c;还可以指定词云图的形状。 二、相关库的介绍 1、安装相关的库 pip install jieba pip i…

优化算法3D可视化

编程实现优化算法&#xff0c;并3D可视化 1. 函数3D可视化 分别画出 和 的3D图 import numpy as np from matplotlib import pyplot as plt import torch# 画出x**2 class Op(object):def __init__(self):passdef __call__(self, inputs):return self.forward(inputs)def for…

大数据毕业设计:python房源数据爬虫分析预测系统+可视化 +商品房数据(源码+讲解视频)✅

毕业设计&#xff1a;2023-2024年计算机专业毕业设计选题汇总&#xff08;建议收藏&#xff09; 毕业设计&#xff1a;2023-2024年最新最全计算机专业毕设选题推荐汇总 &#x1f345;感兴趣的可以先收藏起来&#xff0c;点赞、关注不迷路&#xff0c;大家在毕设选题&#xff…

【大数据】Zookeeper 集群及其选举机制

Zookeeper 集群及其选举机制 1.安装 Zookeeper 集群2.如何选取 Leader 1.安装 Zookeeper 集群 我们之前说了&#xff0c;Zookeeper 集群是由一个领导者&#xff08;Leader&#xff09;和多个追随者&#xff08;Follower&#xff09;组成&#xff0c;但这个领导者是怎么选出来的…

遥感影像-语义分割数据集:2021年昇腾杯初赛数据集详细介绍及训练样本处理流程

原始数据集详情 简介&#xff1a;细粒度语义分割赛道依据现有的遥感地物分类要求&#xff0c; 结合现有的地物分类实际需求&#xff0c;参照地理国情监测、 “三调”等既有地物分类标准&#xff0c;依据遥感地物“所见即所得”原则&#xff0c; 设计地物要素分类体系&#xff…

「实验记录」CS144 Lab1 StreamReassembler

目录 一、Motivation二、SolutionsS1 - StreamReassembler的对外接口S2 - push_substring序列写入ByteStream 三、Result四、My Code五、Reference 一、Motivation 我们都知道 TCP 是基于字节流的传输方式&#xff0c;即 Receiver 收到的数据应该和 Sender 发送的数据是一样的…

linux sh 脚本文件换行错误

windows 写好的脚本到服务运行不起来&#xff0c;显示换行问题 因为 windwos 的换行和 linux 的换行风格不同 解决办法&#xff1a;在使用的文本编辑器中&#xff0c;修改格式为 unix 格式 以 notepad 为例&#xff0c;在编辑 -> 文档格式转换中设置格式为 Unix

Javaweb之Mybatis的基础操作之新增和更新操作的详细解析

1.4 新增 功能&#xff1a;新增员工信息 1.4.1 基本新增 员工表结构&#xff1a; SQL语句&#xff1a; insert into emp(username, name, gender, image, job, entrydate, dept_id, create_time, update_time) values (songyuanqiao,宋远桥,1,1.jpg,2,2012-10-09,2,2022-10-…

lvs+keepalived+nginx实现四层负载+七层负载

目录 一、lvs配置 二、nginx配置 三、测试 3.1 keepalived负载均衡 3.2 lvskeepalived高可用 3.3 nginx高可用 主机IPlvs01-33 11.0.1.33 lvs02-3411.0.1.34nginx0111.0.1.31nginx0211.0.1.32VIP11.0.1.30 4台主机主机添加host [rootnginx01 sbin]# cat /etc/hosts 127.0.0.…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前实时帧率(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前实时帧率&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机的帧率的技术背景Baumer工业相机的帧率获取方式CameraExplorer如何查看相机帧率信息在NEOAPI SDK里通过函数获取相机帧率 Baumer工业相机通过NEOAPI…

Ubuntu18.04 升级Ubuntu20.04

文章目录 背景升级方法遇到的问题 背景 因项目环境需要&#xff0c;欲将Ubuntu18.04升级至Ubuntu20.04&#xff0c;参考网上其他小伙伴的方法&#xff0c;也遇到了一个问题&#xff0c;特此记录一下&#xff0c;希望能帮助其他有同样问题的小伙伴。 升级方法 参考&#xff1a…

leetcode贪心(单调递增的数字、监控二叉树)

738.单调递增的数字 给定一个非负整数 N&#xff0c;找出小于或等于 N 的最大的整数&#xff0c;同时这个整数需要满足其各个位数上的数字是单调递增。 &#xff08;当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。&#xff…

超简单|配图详细| 双系统Ubuntu22.04 系统磁盘扩容

文章目录 1. 打开磁盘工具2. 格式化空闲分区3. 挂载该分区4. 数据迁移与备份5. 卸载原分区6. 挂载新的/home分区7. 重启系统8. 删除原来的数据8.1 直接格式化分区8.2 没有单独的/home分区1. 查看设备名2. 重新挂载该分区3. 删除原始分区/home目录中的内容4. 卸载原分区5. 重启 …

Java的业务逻辑验证框架fluent-validator

Java的业务逻辑验证框架fluent-validator 2月 8, 2016 1 背景 在互联网行业中&#xff0c;基于Java开发的业务类系统&#xff0c;不管是服务端还是客户端&#xff0c;业务逻辑代码的更新往往是非常频繁的&#xff0c;这源于功能的快速迭代特性。在一般公司内部&#xff0c;特…

C语言实验3:函数的定义

目录 一、实验要求 二、实验原理 1.函数头 2.函数体 3.函数的定义及使用 三、实验内容 1. sum函数 代码 截图 分析 2. sum函数 代码 截图 分析 3. rank_grade函数 代码 截图 分析 4. rank_grade函数 代码 截图 分析 5. 函数的嵌套使用 代码 截图 分析…