网站LOGO
oneLN
页面加载中
12月21日
网站LOGO oneLN
时间就是力量,你的时间就是你的力量
菜单
忘记密码/丢失密钥的解决办法
正文
  • oneLN
    时间就是力量,你的时间就是你的力量
    用户的头像
    首次访问
    上次留言
    累计留言
    我的等级
    我的角色
    打赏二维码
    打赏博主
    忘记密码/丢失密钥的解决办法
    点击复制本页信息
    微信扫一扫
    文章二维码
    文章图片 文章标题
    创建时间
  • 一 言
    确认删除此评论么? 确认
  • 本弹窗介绍内容来自,本网站不对其中内容负责。
    • 复制图片
    • 复制图片地址
    • 百度识图
    按住ctrl可打开默认菜单

    忘记密码/丢失密钥的解决办法

    oneLN · 原创 ·
    Linux · 甲骨文
    共 2253 字 · 约 3 分钟 · 206

    甲骨文云服务器忘记密码/丢失密钥的解决办法

    一、准备工作:生成密钥对
    生成的方法有很多。这里我们就以 Xshell 为例。
    打开 Xshell,点击工具->新建用户密钥生成向导。然后一直点下一步就可以,最后到公钥注册的位置点击保存为文件,将公钥保存为keys.pub。
    公钥注册公钥注册

    二、控制台操作

    1、首先进入失联的服务器详情页面,点击停止,弹出框内勾选上 Force stop the instance by immediately powering off,然后确定,等待停止成功。
    停止实例停止实例
    2、下拉到下方列表[左下角],选择引导卷,点击引导卷列表右边那三点图标,选择分离,然后确定。
    分离引用卷分离引用卷
    3、进入现有(或是新开一台)可正常登录的服务器详情页面,下拉到下方列表[左下角],选择附加的块储存卷,点击附加块储存卷,在弹出页面的选择卷下的方框里选择刚刚分离出来的那个引导卷,挂载方式选择半虚拟化,访问方式选择读/写,然后确定。
    附加引用卷附加引用卷
    附加引用卷设置附加引用卷设置
    至此,控制台上的操作就暂时结束。下面我们通过SSH连接继续进行接下来的操作.

    三、SSH修复登录
    1、SSH连接刚才挂载块存储的那台能够正常登录的服务器。将本文开始时生成的公钥上传至/root根目录。可以使用 Xftp ,也可以使用以下命令.

    bash 代码:
    apt install lrzsz -y # 安装 lrzsz 命令
    bash 代码:
    rz # 输入 rz 命令进行上传

    此时会弹出对话框,选择公钥文件,点击确定。

    2、使用lsblk或fdisk -l命令,就可以看到刚附加的引导卷,一般是 /dev/sdb。再向下找到容量最大的分区,此处是 /dev/sdb1。 (具体盘符可能会有差异,请自行查看)

    bash 代码:
    fdisk -l # lsblk
    指令返回的信息指令返回的信息

    3、运行以下命令,挂载分区并进行秘钥修复.

    bash 代码:
    sudo mount /dev/sdb1 /mnt # 挂载分区:/dev/sdb1 必须修改为自己看到的实际分区
    bash 代码:
    mv /root/keys.pub /root/authorized_keys # 此处 keys.pub 为前面生成的公钥文件名,如果前面未改名的,在此要将 keys.pub 修改为你的公钥文件名
    bash 代码:
    cp /root/authorized_keys /mnt/home/opc/.ssh/ # 覆盖 opc 用户登录秘钥
    bash 代码:
    cp /root/authorized_keys /mnt/root/.ssh/ # 覆盖 root 用户登录秘钥
    bash 代码:
    sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' /mnt/etc/ssh/sshd_config # 开启秘钥登录权限
    bash 代码:
    sudo umount /mnt # 取消分区挂载

    确认以上操作无误后,我们就回到控制台继续操作.

    四、控制台恢复引导卷挂载并开机

    简单来说,就是将前面第二步中控制台上的操作,从后往回再操作一遍:在能正常登录的服务器详情页面,分离块存储的挂载;在失联服务器页面,挂载引导卷;将失联服务器开机。
    每一步确认完成之后,再进行下一步操作。

    五、登录失联服务器

    设置用户名为root,验证方式选择开始时生成的私钥(Xshell中会自动记录私钥,选择好就行),如果前面生成密钥对时没有输入密码,则 Xshell 私钥选项下的密码框留空即可。
    至此,如果服务器IP没有问题,失联的服务器现在就已经可以正常登录了!
    如果想使用密码登录,可以使用下面的命令设置新密码、或禁止秘钥登录。

    bash 代码:
    passwd root # 设置服务器登录密码
    bash 代码:
    sed -i 's/PubkeyAuthentication yes/#PubkeyAuthentication yes/g' /mnt/etc/ssh/sshd_config # 禁止秘钥登录 (* 建议保留秘钥登录,并同时备份好你的密钥对。万一哪一天又忘记密码了,还可以使用秘钥登录)
    声明:本文由 oneLN(博主)原创,依据 CC-BY-NC-SA 4.0 许可协议 授权,转载请注明出处。

    还没有人喜爱这篇文章呢

    我要发表评论 我要发表评论
    博客logo oneLN 时间就是力量,你的时间就是你的力量
    MOEICP 20240256

    💻️ oneLN 3小时前 在线

    正在获取您的IP地址... 来访 人次, 查阅 次, 本页查阅

    🕛

    本站已运行 1 年 175 天 18 小时 1 分

    🌳

    自豪地使用 Typecho 建站,并搭配 MyLife 主题
    oneLN. © 2023 ~ 2024.
    网站logo

    oneLN 时间就是力量,你的时间就是你的力量