我正在使用 CentOS 服务器。
我想通过踢出我自己(root)用户来测试如何踢出其他用户。
我使用了它killall -u root
,它把我踢出了服务器,这是意料之中的事。但是我再也无法访问服务器了:
root@kali:~# ssh 383.123.418.10
ssh: connect to host 383.123.418.10 port 22: Connection refused
并且托管在该服务器上的所有网站(cPanel 和 WHM)均已关闭。
我该如何解决?
答案1
来自杀死所有(1)手册页
全杀向运行任何指定命令的所有进程发送信号。如果没有指定信号名称,则发送 SIGTERM
。...
-u,——用户
仅终止指定用户拥有的进程。命令名称是可选的。
您的命令
killall-u root 复制代码
将终止所有(或至少许多)以 root 身份运行的进程。
这是打破系统的一个相当有效的方法
解决方案
重新启动系统。如果您可以访问控制台并能够登录,则可能能够重新启动。根据系统/托管包的类型,您可能可以访问诸如重置/电源开关之类的东西。控制面板、IPMI 或其他带外管理等。
如果以上方法均不适用,请致电您的托管服务提供商并让他们重置。
答案2
killall -u root 这个命令很可能杀掉了 sshd,所以才无法登录,我觉得应该是 BOFH 命令
进入服务器机房并按下重置按钮。它很可能在服务器前面。
服务器启动后,您很可能能够再次登录。
答案3
从此状态重启是唯一的方法。如果您的服务器有远程管理卡(ILO/DRAC/等),您可以远程执行此操作,否则只需按重置即可。
答案4
如果您在每次重启时使用以下命令打开 ssh 服务,则重启服务器也会有所帮助
chkconfig sshd on
如果您之前没有执行此操作并且您的服务器位于远程区域,无法物理访问,那么只需联系您的托管服务提供商或数据中心手动重新启动服务器并为您启动 sshd 服务。
读完你的问题后,我想起了弗兰克·威尔切克 (Frank Wilczek) 的一句名言。
"If you don’t make mistakes, you’re not working on hard enough problems." – Frank Wilczek
希望这不是你犯下的一个大错误。一旦 sshd 启动,你就可以验证所有服务,如果它们没有运行,只需启动它们即可。