记一次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中编辑的时候,一定注意要把最后的“\" 字符删掉,内容合成一行就行了,
相关文章:

记一次Oracle Cloud计算实例ssh恢复过程
#ssh秘钥丢失# , #Oracle Cloud# 。 电脑上的ssh秘钥文件不知道什么时候丢失了,直到用的时候才发现没有了,这下可好,Oracle Cloud的计算实例连不上了,这个实例只能通过ssh连接上去: 以下是解决步骤&#x…...

2024年01月数据库流行度最新排名
点击查看最新数据库流行度最新排名(每月更新) 2024年01月数据库流行度最新排名 TOP DB顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多,这个数据库就被认为越受欢迎。这是一个领先指标。原始数…...

Stable Diffusion API入门:简明教程
Stable Diffusion 是一个先进的深度学习模型,用于创造和修改图像。这个模型能够基于文本描述来生成图像,让机器理解和实现用户的创意。使用这项技术的关键在于掌握其 API,通过编程来操控图像生成的过程。 在探索 Stable Diffusion API 的世界…...
数据结构--二叉搜索树的实现
目录 1.二叉搜索树的概念 2.二叉搜索树的操作 二叉搜索树的插入 中序遍历(常用于排序) 二叉搜索树的查找 二叉搜索树的删除 完整二叉树代码: 二叉搜索树的应用 key/value搜索模型整体代码 1.二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一…...
《微信小程序开发从入门到实战》学习六十八
6.6 网络API 6.6.1 网络API 使用wx.request接口可以发起网络请求。该接口接受一个Object参,参数支持属性如下所示: url(必填):开发者服务器地址 data:请求的参数,类型为string/object/ArrayBuffer header…...

阿里是如何去“O”的?
大家好,我是老猫,猫头鹰的“猫”。 今天我们来聊聊数据库这个话题。 2009年,阿里提出“去IOE化”的概念,这在当时看起来是天方夜谭,但目前来看可以说是"轻舟已过万重山"。 IOE是传统IT三大件,…...

蓝桥杯备赛 day 1 —— 递归 、递归、枚举算法(C/C++,零基础,配图)
目录 🌈前言 📁 枚举的概念 📁递归的概念 例题: 1. 递归实现指数型枚举 2. 递归实现排列型枚举 3. 递归实现组合型枚举 📁 递推的概念 例题: 斐波那契数列 📁习题 1. 带分数 2. 反硬币 3. 费解的…...
87 双指针解验证回文字符串II
问题描述:简单给定一个非空字符串s,最多删除一个字符,判断是否成为回文字符串。 双指针解法:指针1指向开头,指针2指向结尾,定义一个count记录不满足回文串的数量,若超过1,则返回fal…...

【排序算法】【二叉树】【滑动窗口】LeetCode220: 存在重复元素 III
作者推荐 【二叉树】【单调双向队列】LeetCode239:滑动窗口最大值 本文涉及的基础知识点 C算法:滑动窗口总结 题目 给你一个整数数组 nums 和两个整数 indexDiff 和 valueDiff 。 找出满足下述条件的下标对 (i, j): i ! j, abs(i - j) < indexDi…...

OS 7--DNS配置+Apache发布网站
环境准备 centOS 7 1.配置DNS 1.1 域名为lianxi.com 1.2 为WWW服务器、FTP服务器、NEWS服务器做域名解析 1)安装DNS yum -y install bind bind-utils (如果安装不上,就把磁盘在重洗挂载一下) 2)修改DNS配置文件 vim /etc/resolv.conf…...

1月2日代码随想录二叉树的最小深度及层序遍历总结
个人认为这么一个层序遍历的章节放这么多基本一样的题目算是很没意思的了 填充每个节点的下一个右侧节点和二叉树最大深度和前面的代码几乎完全一样,所以我就跳过了 代码随想录 (programmercarl.com) 代码随想录 (programmercarl.com) 111.二叉树的最小深度 给…...

RK3568平台开发系列讲解(Linux系统篇)PWM系统编程
🚀返回专栏总目录 文章目录 一、什么是PWM二、PWM相关节点三、PWM应用编程沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍 PWM 的系统编程。 一、什么是PWM PWM,即脉冲宽度调制(Pulse Width Modulation)...

Linux CPU 数据 Metrics 指标解读
过去从未仔细了解过使用 top 和 htop 等命令时显式的CPU信息,本文我们详解解读和标注一下各个数据项的含义,同时和 Ganglia 显式的数据做一个映射。开始前介绍一个小知识,很多查看CPU的命令行工具都是 cat /proc/stat 里的数据,所…...

Ansible自动化运维(一)简介及部署、清单
👨🎓博主简介 🏅云计算领域优质创作者 🏅华为云开发者社区专家博主 🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…...

深度学习MLP_实战演练使用感知机用于感情识别_keras
目录 (1)why deep learning is game changing?(2)it all started with a neuron(3)Perceptron(4)Perceptron for Binary Classification(5)put it all toget…...

[ffmpeg系列 02] 音视频基本知识
一 视频 RGB: AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB… Y:明亮度, Luminance或luma, 灰阶图, UV:色度,Chrominance或Chroma。 YCbCr: Cb蓝色分量,Cr是红色分量。 取值范围ÿ…...
【ASP.NET Core 基础知识】--目录
介绍 1.1 什么是ASP.NET Core1.2 ASP.NET Core的优势1.3 ASP.NET Core的版本历史 环境设置 2.1 安装和配置.NET Core SDK2.2 使用IDE(Integrated Development Environment):Visual Studio Code / Visual Studio 项目结构 3.1 ASP.NET Core项…...

java数据结构与算法刷题-----LeetCode509. 斐波那契数
java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 很多人觉得动态规划很难,但它就是固定套路而已。其实动态规划只…...
vue3 element plus el-table封装(二)
上文是对el-table的基本封装,只能满足最简单的应用,本文主要是在上文的基础上增加slot插槽,并且对col插槽进行拓展,增加通用性 // BaseTable.vue <template><el-table><template v-for"name in tableSlots&…...
cnn lstm结合网络
目录 特征处理例子: cnn 5张图片一组,提取特征后,再给lstm,进时间序列分类。 特征处理例子: import torch# 假设 tensor 是形状为 15x64 的张量 tensor torch.arange(15 * 2).reshape(15, 2) # 生成顺序编号的张量&…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...

GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...

LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...

关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...