原文地址
问题
众所周知,Linux
系统在登录后会执行/etc/profile
文件,根据文件内容一般会迭代执行/etc/profile.d
下的所有脚本用于初始化用户配置等等信息。如果这些文件由于写入错误,并没有正常返回exit 0
的话,那么在登陆后就会直接关闭连接无法修复
解决
一般的解决方案是在另一台机器上使用scp
直接替换指定文件
scp ./fixed-file.sh root@114.114.114.114:/etc/profile.d/error-file.sh
但是如果不能成功覆盖的话,可以参考
误修改/etc/profile文件后导致SSH无法登录的故障复盘以及Can’t login to server with SSH because of a script in /etc/profile.d exiting with exit status 1