我最近使用 Ubuntu 在 Oracle Cloud 上设置了一个虚拟服务器。我想通过将默认 SSH 登录端口从 22 更改为 777(或任何随机端口)来增强安全性。因此,我进入/etc/ssh/sshd_config
并更改了Port 22
设置。现在,无论我尝试使用新端口还是旧端口,我都无法通过 SSH 重新登录。
所以不能使用任何命令...只能使用仪表板...这本身就是一场斗争。
我使用 PuTTY 进行 SSH 访问,并已联系 Oracle Cloud 支持。不幸的是,他们的回复是......无用/无用/浪费时间(说得客气一点)——他们基本上只是向我指出基本的 Google 搜索结果,而我已经尝试过但没有成功。
有没有其他人在 Oracle Cloud 免费套餐上遇到过这个问题,或者有没有人有关于如何解决这个问题的建议?我没有备份(我知道,这是我的错误,已经感觉自己太愚蠢了),我真的需要从服务器恢复一些重要数据。任何建议都将不胜感激!
我找到了一个解决方案,即使用 Oracle Cloud Shell 直接运行命令。流程如下:
将其替换
<target_instance_ocid>
为新实例 OCID 和<boot_volume_ocid>
旧启动卷(您被锁定的卷)的 OCID,该卷可在 Oracle Cloud 仪表板中找到。运行此命令时,它将成功将启动卷附加到您的新实例。之后,只需将旧的启动卷挂载到目录,您就可以访问其所有文件和文件夹、进行更改或检索任何数据。
为此,请按照以下步骤访问其文件:(这些命令将在连接到您创建的新实例后运行,而不是像之前的命令那样在 Oracle Cloud Shell 中运行)
lsblk
列出设备并找到新的卷(例如/dev/sdb
)。sudo mkdir /mnt/boot-volume
创建目录。sudo mount /dev/sdb1 /mnt/boot-volume
。cd /mnt/boot-volume
)并列出文件(ls
)。如果您丢失了 SFTP 密钥、忘记了密码或由于其他原因无法访问实例,则此方法有效。祝您好运!