Oracle Cloud甲骨文更换IP以及生成/重置SSH密钥

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

Oracle Cloud更换IP以及生成/重置SSH密钥(亲测可行)

查看更多关于Oracle Cloud的介绍!

2019年10月12日16:21:43 新增2种重置密钥的方法!

由于博主开通的第一台Oracle Cloud服务器SSH密钥设置有问题,一直登录不上去!一直在琢磨怎么重置SSH密钥!

有大佬更新过几篇文章,但是博主亲测均失败了。然后琢磨出的其他方法。

本文更换密钥部分内容非常详细,对于大佬可以直接看【最后说明】里面介绍了思路。

 

解释说明

SSH密钥登录:更安全的登录方式。主要包含2部分,密钥(用户密钥)  /  公钥。

假如:张三想用 PC1电脑上  登录 SERVER1服务器。那么公钥需要放到SERVER1上,PC1电脑需要密钥完成验证才可以登录!

密钥:放到你的电脑上!

公钥:放到服务器上!

上面的解释应该算比较容易理解了!

 

 

生成SSH密钥

Oracle Cloud开通服务器,这个SSH 密钥很关机!这里推荐大家使用Xshell生成!

这里详细说明以下生成步骤!

1)Xshell软件:菜单 – 工具 – 用户密钥管理者(按alt键可见菜单栏)

密钥类型:RSA

密钥长度:2048

 

2)点击下一步后,回自动生成公钥对!

 

3)设置密钥名称以及用户密钥密码。

【用户密钥】密码可以为空!

 

4)点击完成后,可见我们新建的用户密钥。选择密钥点击属性。

 

5)可见【公钥】的选项卡,点击可见该密钥的公钥!服务器上需要添加的公钥就是文本框内的一堆儿~

 

6)Xshell连服务器的时候,需要在【用户身份验证】

方法:Public Key

用户名:服务器上的可登录的用户名

用户密钥:选择上面我们新建的密钥

密码:如果你设置为空,那就空的。上面我们设置的是 123

 

 

更换IP地址

开通的云服务器,有时候IP已经被Q,无法访问了!怎么办呢?

点击实例详情 – 【附加的 VNIC】- 点击VNIC详情 – 【IP地址】 – 【…】- 点击编辑

我们选择没有公共IP,点击更新!

 

然后再次点击编辑,选择临时公共IP 或者 预留公共IP 点击更新即可!

 

 

 

预留IP怎么选?点击菜单如下图!直接进去申请IP即可!

 

 

更换密钥方法1

这个方法不用不需要创建定制映像! 这里的步骤比较简要。部分内容一带而过,具体可看方法2中的步骤!

A服务器是无法登陆的服务器,需要换密钥。

B服务器是可以登陆的服务器。

1)A服务器 – 停止 – 分离引导盘。

2)B服务器 – 附加存储卷 。

3)登陆B服务器,执行挂载命令iSCSI命令。

4)查看磁盘挂载情况。

[prism lang=""]fdisk -l[/prism]

 

4)挂载sdb3 到 /mnt

[prism lang=""]mount /dev/sdb3 /mnt[/prism]

提示:如果查看磁盘非sdb3,或者挂载出现错误(wrong fs type)。请参考更换密钥方法2内容!

 

5)修改密钥,这里不再重述。

6)卸载磁盘。

[prism lang=""]umount /mnt[/prism]

7)执行分离命令iSCSI命令。

8)B服务器分离附加卷。

9)A服务器附加引导卷。

 

 

更换密钥方法2

这里是本文的重点!可能你在开通Oracle Cloud机器的时候,忘记填写SSH用户密钥?或者其他原因导致开通机器后无法登录?

现在日本 和 韩国区域又不敢终止机器。怎么办?

提醒一下:这部分内容持续写了几天,经过多次尝试终于可以了!部分截图可能是老的!

 

准备工作

1)Oracle Cloud账号上还有试用金额(或者能创建免费服务器)!

2)按照上面的方法生成一个正确可用的密钥和公钥!

 

创建定制映像

1)点开实例详情,操作 – 创建定制映像

 

 

2)名称随便命名一下即可!创建映像可能需要几分钟!

 

3)创建完成后,可以在 计算- 定制映像 中看到!

 

 

创建新实例

 

1)在新创建的映像点击【…】 – 【创建实例】(也可以直接在面板首页创建实例,映像要选自定义映像)

 

2)映像源一定要是刚才新自定义的!!实例配置,选择一个最低配就行!如果你还有免费的实例,可选免费的!

 

3)非常关键!

一定要将SSH密钥复制进去!也就是上面提到的SSH 公钥!然后就创建即可!

 

 

4)关于Cloud-Init脚本,博主测试添加脚本后,并没有生效。当然你也可以将脚本和SSH密钥一块加上!

这里不说明了,请参考历史文章有介绍这部分内容:申请Oracle Cloud永久免费服务+300美元试用额度

 

5)1分钟左右实例创建成功!如果由于各种原因IP无法访问,参考上面的【更换IP】内容。

 

6)然后使用Xshell工具登录一下。能登录那就OK,可以继续!

 

分离引导卷

1)查看要重置SSH密钥的实例详情,点击【停止】,切记不是终止!!!

2)点击【引导卷】- 【…】- 点击【分离】

 

3)待引导卷变成已分离!

 

 

附加存储块

1)查看新实例详情 – 【附加的块存储卷】 –  点击【附加块存储卷】

块存储卷,选择刚才分离的那个即可!点击【附加】!

 

 

2)状态变成已附加。点击【…】 – 【iSCSI 命令和信息】查看命令!

 

 

3)命令主要使用:附加命令 和 分离命令!

 

磁盘挂载

这部分内容需要在Xshell中操作!

1)切换用户到root下,方便我们操作

[prism lang=""]sudo -i[/prism]

 

2)查看当前磁盘情况

[prism lang=""]fdisk -l[/prism]

目前我们只有1块磁盘 /dev/sda  46.6G容量!

 

3)附加引导卷。复制附加命令到 Xshell执行!妥妥的成功没问题!

 

4)再次查看当前磁盘情况!

[prism lang=""]fdisk -l[/prism]

明显看到多了一块磁盘 /dev/sdb 其中 Linux System内容 在  /dev/sdb1

 

5)执行以下挂载磁盘到 /mnt 目录下。

[prism lang=""]mount /dev/sdb1 /mnt[/prism]

看下 /mnt 目录下确实有内容了!

 

6)修改SSH密钥!

如果你安装的是精简版的系统可能需要安装以下vim编辑器!

[prism lang=""]apt-get install vim[/prism]

修改SHH密钥文件(这里涉及到一些vim的操作,大家自己百度)

[prism lang=""]vim /mnt/home/ubuntu/.ssh/authorized_keys
#按2次d 删除第一行数据
#复制XShell生成的正确公钥,按Shift + Insert 粘贴进去
#再按:wq 保存退出[/prism]

如果你是CentOS系统SSH密钥位置有点不一样!

[prism lang=""]vim /mnt/home/opc/.ssh/authorized_keys[/prism]

 

7)修改成功后,取消磁盘挂载!

[prism lang=""]cd /
umount /mnt[/prism]

然后复制分离命令,执行一下即可!

 

 

分离存储卷

1)查看新实例详情 – 【附加的块存储卷】 –  【…】 – 点击【分离】

 

 

2)存储卷不见后,这个新建的实例也可以终止掉了!

 

 

附加引导卷

1)查看要重置SSH密钥的实例详情 点击【引导卷】- 【…】- 点击【附加】

 

2)状态变成已付加后,就可以启动实例了!

 

 

3)最后去把自定义映像删除!

 

更换密钥方法3

利用DD命令来复制安装一个系统!

分离A服务器引导盘,然后挂载到B服务器上(具体操作看上面)

挂载成功后,直接使用下面命令,将B服务器的系统直接DD到A服务器的引导卷中(包括登陆密钥)。

PS:这个执行的命令比较久,我试过一次需要2小时。

[prism lang=""]dd if=/dev/sda of=/dev/sdb[/prism]

完成后再挂载到A服务器上登陆即可!

 

最后说明

操作过程不算复杂!一些Linux下的操作需要一点点基础!由于这篇文章修修改改陆续写了3天,可能部分截图有问题。

这篇文章差点流产,因为19号有网友在文章中留言说有人写了重置SSH密钥的方法,博主去亲测了一下,发现会提示错误无法附加!

今天(21号)看见Qi大佬更新了一篇文章(参考文献)。博主又测试了一次还是同样的错误。

[prism lang=""]mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error.[/prism]

然后我又去查阅了2篇博文内容参考了老外的一篇文章(参考文献)。发现老外的文章是针对 Oracle Linux 7 系统的SSH密钥重置。如果你使用的这个系统应该是可以的没问题!

但是大部分人都是使用的Ubuntu 和 CentOS,老外的文章内容并不适用。

其实重置SSH密钥的思路很简单。就是将需要重置密钥的实例创建映像,用这个映像创建新实例,然后修改引导券!

希望本文对你有用,有问题可以留言。

 

一条评论
  • sss

    2022年6月13日 上午10:44

    更换密钥方法3
    利用DD命令来复制安装一个系统!

    分离A服务器引导盘,然后挂载到B服务器上(具体操作看上面)

    挂载成功后,直接使用下面命令,将B服务器的系统直接DD到A服务器的引导卷中(包括登陆密钥)。

    PS:这个执行的命令比较久,我试过一次需要2小时。

    dd if=/dev/sda of=/dev/sdb

    试了几个小时,挂载后,甲骨文不认。

发表回复

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