为了提高文章的SEO效果,我重新构建了以下内容:
在CentOS7系统中,如果误修改了/etc/profile文件,可能会导致SSH无法登录。下面是解决这个问题的步骤:
- 首先,复现故障。在/etc/profile.d目录下误操作,上传了一个sh脚本,导致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
(图片可点击放大查看)
- 登录其他机器尝试SSH登录,结果也无法成功。
(图片可点击放大查看)
- 即使输入正确密码,控制台会自动退出,导致无法登录。
(图片可点击放大查看)
- 尝试通过SSH覆盖该文件的方法也不起作用。
(图片可点击放大查看)
- 由于是在VMware虚拟机上,最终只能重启进入维护模式并删除该文件来解决问题。具体步骤如下:
- 重启服务器,在选择内核界面使用上下箭头移动。
(图片可点击放大查看)
- 选择内核并按下”e”键。
rw init=/bin/bash
rm -rf /etc/profile.d/init_centos7_v8.sh
exec /sbin/init
(图片可点击放大查看)
- 找到下面这行代码。
(图片可点击放大查看)
- 删除”rhgb quiet”以及”ro”,并将其改为如下所示。
(图片可点击放大查看)
-
按下Ctrl+X进入维护模式。
-
在维护模式下,使用bash命令删除/etc/profile.d/文件。
- 退出维护模式。
(图片可点击放大查看)
- 现在,您应该能够正常登录SSH和控制台了。
(图片可点击放大查看)
如果您在阿里云主机上遇到类似问题,可以使用阿里云助手或阿里云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
配置AccessKey
(图片可点击放大查看)
- 在辅助Linux机器上安装阿里云CLI工具,并执行CLI命令来解决问题。您可以参考以下链接来安装阿里云CLI工具。
下载链接:(图片可点击放大查看)
然后执行aliyun configure命令进行配置。
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登录可能导致无法进行维护,如果没有安装阿里云助手,那么必须重启服务器才能解决问题。对于不能停机重启的业务系统服务器来说,这是非常尴尬的情况。因此,在生产环境中,我们必须对操作要保持敬畏之心。谨记这一点!