Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法

作者: maofun 分类: 代码 发布时间: 2020-02-14 07:27

甲骨文服务器最近的终身免费服务器着实火了一把,很多人创建实例对设置秘钥可能存在一些问题,导致后面服务器连接不上,下面是修改重置已创建服务器但是ssh登录不上的解决办法。

前期准备

1、秘钥对

这里以Xshell为例,菜单栏->工具->新建秘钥向导,下一步下一步生成公钥和私钥,可以将它们全部导出成文件。

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

2、创建一台新的实例,东京韩国现在应该没有资源了,可以创建一个收费的实例

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

如图示所示的实例配置就是收费,不带mirco后缀

3、Xshell使用上面的私钥opc用户登录已经创建的这台服务器,sudo -i可以切换root用户,供后面使用

重置登录不上服务器秘钥

1、停止之前登录不上的终免服务器,Tips:注意是停止服务器,不是终止!!!待会还需要启动

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

2、分离这台服务器的引导卷,停止服务器后,可以在下面分离引导卷,稍后会将这台服务器挂载到上面我们已经创建的收费服务器进行秘钥修改。

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

3、切换至收费服务器的细节页面,将已经分离的引导卷重新附加到收费服务器

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

4、点击附加后的选项查看iSCSI命令

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

5、切换到Xshell收费服务器控制台,依次执行上图中红框命令,执行:

fdisk -l /dev/sdb

如果查看到磁盘信息,应该就已经附加成功。

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

6、挂载、执行如下命令

sudo mount -o nouuid /dev/sdb3 /mnt

如果此步报错,执行:

sudo mount /dev/sdb3 /mnt

7、如果到了这一步,即将就ok了,修改公钥,继续执行

sudo vi /mnt/home/opc/.ssh/authorized_keys 

键盘按两次d可以删除已有秘钥,按i键进入编辑,将上面准备的公钥文件内容,记住是公钥,全部粘贴到里面,注意空格和换行,按ESC->按住shift+两次z键,保存退出

8、解除挂载,执行命令

sudo umount /mnt

9、执行下图红框中命令,分离引导卷

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

10、网页操作界面分离

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

11、重新将这个卷挂载到终免服务器上,然后启动服务器,这样就可以使用刚刚上面生成的私钥登录这台服务器了,至此ssh秘钥修改完毕

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

如果细节上有什么问题可以在下面留言。

参考oracle官方文档:https://blogs.oracle.com/cloud-infrastructure/recovering-opc-user-ssh-key-on-oracle-cloud-infrastructure

3 条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注