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

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

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


故障复现


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


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


640.jpg

640.jpg

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

640.jpg


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

640.jpg


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


640.jpg


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


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


具体步骤如下


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

640.jpg


2、选择内核并按“e”


640.jpg

3、找到下面这行



640.jpg


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


rw init=/bin/bash


640.jpg


然后Ctrl+X进入维护模式


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


rm -rf /etc/profile.d/init_centos7_v8.sh
exec /sbin/init


退出维护模式

640.jpg

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


640.jpg

640.jpg


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

640.jpg

640.jpg


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


640.jpg


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


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

640.png

640.jpg

640.jpg640.jpg


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


640.jpg


在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


640.jpg

然后aliyun configure


aliyun configure
配置AccessKey

640.jpg


复制命令执行


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'


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

640.jpg


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

相关文章
|
4月前
|
JavaScript 应用服务中间件 Linux
【应用服务 App Service】解决无法从Azure门户SSH登录问题
【应用服务 App Service】解决无法从Azure门户SSH登录问题
|
2月前
|
程序员 网络安全 开发工具
读书|通过 SSH & SFTP 管理 Kindle 上的文件
这是这个系列的第三篇文章,介绍我如何通过 SSH & SFTP 管理 Kindle 上的文件。
41 3
|
6月前
|
分布式计算 Hadoop 网络安全
杨校老师课堂之集群内SSH免密登录功能配置
杨校老师课堂之集群内SSH免密登录功能配置
44 0
|
4月前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
4月前
|
安全 Shell Linux
如何禁止某个用户使用ssh登录
本文介绍了五种禁止用户通过SSH登录的方法:1) 修改`/etc/ssh/sshd_config`文件中的`DenyUsers`和`DenyGroups`来阻止特定用户或用户组登录;2) 将用户的默认shell设置为`/usr/sbin/nologin`或`/bin/false`以禁用其SSH访问;3) 利用PAM(可插入认证模块)通过编辑`/etc/security/sshd.conf`来限制登录权限;4) 通过编辑`/etc/hosts.deny`文件拒绝特定用户的SSH访问;5) 锁定或禁用用户账号以阻止所有类型的登录。每种方法都提供了详细的步骤指导。
504 1
|
4月前
|
存储 安全 测试技术
【超实用却暗藏杀机】sshpass:一键免密SSH登录的神器,为何生产环境却要敬而远之?探秘背后的安全隐患与替代方案!
【8月更文挑战第16天】sshpass 是一款便捷工具,可实现自动化SSH登录,简化脚本中的远程连接流程。通过后台自动处理密码输入,便于执行远程操作,如 `sshpass -p 'yourpassword' ssh user@remotehost`。也可结合更多SSH选项使用,例如指定私钥文件。然而,因需明文传递密码,存在较大安全隐患,不适于生产环境;推荐使用公钥认证以增强安全性。
221 4
|
5月前
|
安全 Linux 网络安全
|
4月前
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
138 0
|
4月前
|
Ubuntu Linux 网络安全
在Linux中,如何禁用root用户直接SSH登录?
在Linux中,如何禁用root用户直接SSH登录?
|
5月前
|
Shell 网络安全 数据安全/隐私保护
MacOS Sonoma14.2.1系统SSH免密登录
【7月更文挑战第9天】在MacOS Sonoma 14.2.1中设置SSH免密登录,包括:1) 使用`ssh-keygen`生成RSA密钥对;2) 使用`ssh-copy-id`将公钥传到远程主机;3) 用`ssh-add --apple-use-keychain`添加私钥到ssh-agent,并为重启后自动添加配置自动化脚本;4) 可选地,编辑`~/.ssh/config`设置别名简化登录。确保远程主机的`.ssh/authorized_keys`文件权限为600。
147 4

相关实验场景

更多