一次由误修改/etc/profile文件后导致SSH无法登录的故障复盘

CentOS7系统下误修改/etc/profile文件后导致SSH无法登录的解决办法

故障复现

1、/etc/profile.d目录下误操作

cd /etc/profile.d/ 目录下误操作,上传了一个sh脚本,刚好个脚本直接导致SSH无法登录

其他机器尝试SSH登录也是一样

2、并控制台输入正确密码会自动退出,导致无法登录

3、想尝试SSH过去覆盖该文件的方法也不可行

echo "export TMOUT=600 " > init_centos7_v8.sh

scp ./init_centos7_v8.sh root@192.168.31.127:/etc/profile.d/

ssh root@192.168.31.127

4、由于是VMware虚拟机,最终不得不重启进解决

VMware虚拟机重启进维护模式删除该文件解决

具体步骤如下

1、重启服务器,在选择内核界面使用上下箭头移动

2、选择内核并按“e”

(图片可点击放大查看)

3、找到下面这行

(图片可点击放大查看)

这里要删除掉rhgb quiet 以及ro 改为

rw init=/bin/bash

然后Ctrl+X进入维护模式

4、bash命令下删除/etc/profile.d/该文件

rm -rf /etc/profile.d/init_centos7_v8.sh

exec /sbin/init

退出维护模式

5、这时就可以正常登录SSH和控制台了

阿里云主机场景下如何解决

控制台输入密码会自动退出无法登录

如果是阿里云主机呢 可以借助阿里云助手来解决,且不用重启服务器 或者阿里云CLI工具(实质是借助云助手) 具体方法如下

1、云控制台中云助手下发命令解决

2、辅助Linux机器安装阿里云CLI工具执行CLI命令解决

在Linux上安装阿里云CLI参考如下链接

https://help.aliyun.com/document_detail/121541.html

下载链接

https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tgz?spm=a2c4g.11186623.0.0.1e52714aaP7ZjP&file=aliyun-cli-linux-latest-amd64.tgz
tar -zxvf aliyun-cli-linux-latest-amd64.tgz 
mv aliyun /usr/local/bin

然后aliyun configure

aliyun configure
配置AccessKey

复制命令执行

aliyun ecs RunCommand --RegionId 'cn-hangzhou' --Username 'root' --RepeatMode 'Once' --CommandContent 'ZWNobyA+IC9ldGMvcHJvZmlsZS5kL2luaXRfY2VudG9zN192OC5zaA==' --Name 'cmd_2021-12-16_20-11-46' --Type 'RunShellScript' --ContentEncoding 'Base64' --InstanceId.1 'i-bpXXXXXXXXXXXXXX'

接下来验证效果, 可以看到下发命令后就可以正常登录了

总结:线上操作命令务必慎重,小心再小心,无法SSH直接导致无法进行维护,若没有安装阿里云助手,那就必须重启服务器才能解决,对于不能停机重启的业务系统服务器就非常尴尬了,所以对生产环境要有敬畏之心!!!谨记!

引用:https://cloud.tencent.com/developer/article/1922703


已发布

分类

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注