网站批量创建程序,明星网页设计范例,网站算信息化建设,百度seo怎么查排名#ssh秘钥丢失# #xff0c; #Oracle Cloud# 。
电脑上的ssh秘钥文件不知道什么时候丢失了#xff0c;直到用的时候才发现没有了#xff0c;这下可好#xff0c;Oracle Cloud的计算实例连不上了#xff0c;这个实例只能通过ssh连接上去#xff1a; 以下是解决步骤#x…#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). 然后按 ctrlx 重新启动启动完就可以进入维护模式了。 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文件所以你看一下这个文件的权限实际上不是600owner也是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中编辑的时候一定注意要把最后的“\ 字符删掉内容合成一行就行了