背景
满足以下两种情况的佬友可以往下看
- 错误修改sshd端口导致无法登录机器
- 甲骨文机器,至少一台能正常运行
发生起因是在修改默认22端口时多输了一位,导致端口大于65535。发现的时候已经结束了已连接的会话。
后面无论是问GPT还是claude给出的建议都是去甲骨文后台里Cloud Shell里进行连接操作,因此找了一些教程,在磕磕碰碰下通过另一台正常的甲骨文机器当跳板机,通过VNC Viewer建立了连接,但是,但是我忘记了登录密码 ,后面在一篇忘记密码的文章里找到了同理的解决办法。
进入教程
一、甲骨文后台操作
-
找到出问题的机器,关机
-
关机之后,下滑到底部,在左侧找到引导卷,进行分离
-
进入块存储卷,进分离后的引导卷详情页
-
把分离的那块引导卷附加到运行正常的机器上,弹窗里选“半虚拟化”,注意权限需读写
二、SSH命令行操作
-
使用fdisk -l命令查看刚才挂载的引导卷盘符
-
挂载
sudo mount /dev/sdb2 /mnt
- 现在你就可以访问到磁盘数据,然后做一些操作了,比如
# 编辑配置,把端口改正确
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)拷贝到你需要连接的机器上就可以了,具体就不展开说了,原则上一对密钥不要多处使用
- 卸载
sudo umount /mnt
三、恢复引导卷
-
进入到引导卷详细信息页,进行引导券分离,再挂载给关机的那台机器
-
开机,根据你刚刚第二步修改的端口连接
另外
感谢佬友的服务器调优教程
https://linux.do/t/topic/160305/36
最最后
改完sshd_config后,记得用sshd -t命令测试一下