误执行sudo rm -r /*导致无法SSH登录,能否恢复实例?
误执行sudo rm -r /*导致无法SSH登录,能否恢复实例?
兄弟,这操作确实够闹心的——不少人都踩过这个坑,我给你梳理下可行的方案和情况:
先试试云服务商的控制台直接登录功能(比如EC2 Instance Connect、VNC控制台登录这类),如果能成功进入系统:
- 先检查关键系统目录,比如
/etc/ssh(SSH服务的配置和密钥文件)、/bin//usr/bin(核心命令工具)是否还存在。如果只是SSH相关文件被删,系统核心组件还在,那可以尝试抢救:- 把出问题的实例的系统盘卸载,挂载到一个同系统版本的正常实例上,从正常实例里复制缺失的系统文件到故障磁盘对应的目录,之后再把磁盘挂回原实例,重启后试试能不能恢复SSH连接。
- 要是
/lib、/sbin这类核心系统库和工具已经被删得七七八八,就算勉强修复,后续系统也会频繁出问题,这种情况不如直接换新实例。
- 先检查关键系统目录,比如
如果连控制台都登不进去,那基本可以判定系统核心组件已经被破坏,没法正常运行了:
- 这时候新建实例几乎是唯一选择,但别着急删掉旧实例——先给旧实例的磁盘做个快照或者备份,然后把这个磁盘挂载到新实例上,把里面还能找回的重要数据(比如
/home目录下的个人文件、自定义的应用配置等)导出来,尽量减少损失。
- 这时候新建实例几乎是唯一选择,但别着急删掉旧实例——先给旧实例的磁盘做个快照或者备份,然后把这个磁盘挂载到新实例上,把里面还能找回的重要数据(比如
最后给你提个醒:以后用rm -rf这类高危命令时,一定要先确认路径!比如可以先敲echo sudo rm -r /*看看会匹配哪些内容,或者加-i参数用交互模式删除,避免手滑闯大祸。
备注:内容来源于stack exchange,提问作者Rana
相关产品推荐
相关产品推荐

