记一次错误修改甲骨文机器ssh端口,导致无法登录的经历

背景

满足以下两种情况的佬友可以往下看

  • 错误修改sshd端口导致无法登录机器
  • 甲骨文机器,至少一台能正常运行

发生起因是在修改默认22端口时多输了一位,导致端口大于65535。发现的时候已经结束了已连接的会话。

后面无论是问GPT还是claude给出的建议都是去甲骨文后台里Cloud Shell里进行连接操作,因此找了一些教程,在磕磕碰碰下通过另一台正常的甲骨文机器当跳板机,通过VNC Viewer建立了连接,但是,但是我忘记了登录密码 :sob: ,后面在一篇忘记密码的文章里找到了同理的解决办法。

进入教程

一、甲骨文后台操作

  1. 找到出问题的机器,关机

  2. 关机之后,下滑到底部,在左侧找到引导卷,进行分离

  3. 进入块存储卷,进分离后的引导卷详情页

  4. 把分离的那块引导卷附加到运行正常的机器上,弹窗里选“半虚拟化”,注意权限需读写

二、SSH命令行操作

  1. 使用fdisk -l命令查看刚才挂载的引导卷盘符

  2. 挂载

sudo mount /dev/sdb2 /mnt
  1. 现在你就可以访问到磁盘数据,然后做一些操作了,比如
# 编辑配置,把端口改正确
vim /mnt/etc/ssh/sshd_config

#############
# 假如忘记密码,还可以生成密钥对,用来代替密码
#############
ssh-keygen -t rsa -N "" -f ~/.ssh/oracle_rsa

# 删除原本的密钥对,有重要信息记得备份
rm -rf /mnt/authorized_keys

# 移动新密钥
mv ~/.ssh/oracle_rsa.pub /mnt/authorized_keys

# 检查配置,检查PubkeyAuthentication是否为yes
cat /mnt/etc/ssh/sshd_config

# 然后把你私钥(oracle_rsa)拷贝到你需要连接的机器上就可以了,具体就不展开说了,原则上一对密钥不要多处使用
  1. 卸载
sudo umount /mnt

三、恢复引导卷

  1. 进入到引导卷详细信息页,进行引导券分离,再挂载给关机的那台机器

  2. 开机,根据你刚刚第二步修改的端口连接

另外

感谢佬友的服务器调优教程
https://linux.do/t/topic/160305/36

最最后
改完sshd_config后,记得用sshd -t命令测试一下 :rofl:

5 Likes

根源在于 甲骨文 自带的镜像使用的 iptables,不受 ufw、firewalld 的控制,需要先卸载掉 iptables,重启后再安装 ufw、firewalld 等。

所以我就停留在能用就行,不折騰

真是一步一个坑,相对于国内的阿里腾讯来说,这个交互太吐血。自带的VNC多香啊 :joy:

《能跑就不要动》

都是曾经走过的路 :laughing:

所以说,一般情况,甲骨文总要留一台AMD的小鸡做恢复用,在机器上做好netboot的tftp备用

我去研究下netboot

netboot 比较适用于彻底救砖,可以随心所欲的重新DD系统,对于没升级不能随意删除实例的情况来说比较好用。

1 Like

强啊! :tieba_087:

1 Like

是得留一个最低配的以备不时之需,有一次也是通过这种办法救回来的。

建议修改完之后,直接新建一个连接,连上了再关闭现有连接;即测试完再发布 :nerd_face:

强啊 大帅哥 :face_savoring_food:

1 Like

是的!!

嗯嗯,这样也可以,我关掉后就后悔了 :smiling_face_with_tear:

大帅哥不是我,大帅哥另有其人

真理,昨晚蠢蠢欲动,改了改,触一发而动全身,弄到半夜,差点崩了

1 Like

这么巧,我也弄到半夜,弄到VNC连接界面跳出password界面,一气之下气了一下,睡觉去了

這個好欸
我昨天也是誤改vps
今天上gcp試試看能不能修

1 Like