一次由误修改/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直接导致无法进行维护,若没有安装阿里云助手,那就必须重启服务器才能解决,对于不能停机重启的业务系统服务器就非常尴尬了,所以对生产环境要有敬畏之心!!!谨记!

相关文章
|
3月前
|
安全 网络安全 数据安全/隐私保护
Debian 12系统中允许Root远程SSH登录解决方法!
在 Debian 12 系统中开启 SSH 远程 Root 登录需修改 SSH 配置文件 (`sshd_config`),将 `PermitRootLogin` 设置为 `yes` 并确保密码认证启用。完成后重启 SSH 服务并验证连接。若防火墙启用,需放行端口 22。注意,直接开放 Root 登录可能带来安全风险,建议使用普通用户登录后切换至 Root。
264 1
|
10月前
|
JavaScript 应用服务中间件 Linux
【应用服务 App Service】解决无法从Azure门户SSH登录问题
【应用服务 App Service】解决无法从Azure门户SSH登录问题
134 0
|
6月前
|
监控 Ubuntu 安全
debian或Ubuntu中开启ssh允许root远程ssh登录的方法
在Debian或Ubuntu系统中启用root用户的SSH远程登录需要编辑SSH配置文件、设置root密码并重启SSH服务。虽然这可以在某些情况下提供便利,但必须注意安全性,通过使用强密码、限制IP访问、使用SSH密钥认证等方法来保护服务器的安全。
2720 5
|
6月前
|
网络协议 Ubuntu Linux
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
解决 `ssh: connect to host IP port 22: Connection timed out` 报错涉及检查 SSH 服务状态、防火墙配置、网络连通性和主机名解析等多个方面。通过逐步排查上述问题,并在 `scp` 命令中正确指定端口,可以有效解决连接超时的问题,确保文件传输的顺利进行。希望本文提供的解决方案能帮助您快速定位并解决该错误。
1402 3
|
6月前
|
运维 网络安全
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
通过这些步骤和方法,您可以有效解决“ssh: connect to host IP port 22: Connection timed out”问题,并顺利使用 `scp`命令传输文件。
5601 7
|
8月前
|
程序员 网络安全 开发工具
读书|通过 SSH & SFTP 管理 Kindle 上的文件
这是这个系列的第三篇文章,介绍我如何通过 SSH & SFTP 管理 Kindle 上的文件。
154 3
|
10月前
|
机器学习/深度学习 存储 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中的文件
123 4
|
10月前
|
安全 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) 锁定或禁用用户账号以阻止所有类型的登录。每种方法都提供了详细的步骤指导。
1278 1
|
10月前
|
存储 安全 测试技术
【超实用却暗藏杀机】sshpass:一键免密SSH登录的神器,为何生产环境却要敬而远之?探秘背后的安全隐患与替代方案!
【8月更文挑战第16天】sshpass 是一款便捷工具,可实现自动化SSH登录,简化脚本中的远程连接流程。通过后台自动处理密码输入,便于执行远程操作,如 `sshpass -p 'yourpassword' ssh user@remotehost`。也可结合更多SSH选项使用,例如指定私钥文件。然而,因需明文传递密码,存在较大安全隐患,不适于生产环境;推荐使用公钥认证以增强安全性。
671 4
|
11月前
|
安全 Linux 网络安全