今天遇到CentOS 7 下远程连不上,怀疑服务没有启动,先检查了端口和服务是否启动:

ps -A| grep sshd 发现没有

netstat -nultp|grep 22 也没有发现22端口

检查防火墙是不是会影响,关闭了防火墙,重启sshd服务 

systemctl stop firewalld.service
systemctl start sshd.service 并没有输出任何错误日志,再次检查端口是否启动,依然没有

然后关闭SeLinux
SELINUX=disabled


然后重启,还是没有
再次重启:systemctl start sshd.service 


最后检查systemctl的日志

less /var/log/messages

Dec 25 10:09:45 localhost sshd: /var/empty/sshd must be owned by root and not group or world-writable.
Dec 25 10:09:45 localhost systemd: sshd.service: main process exited, code=exited, status=255/n/a
Dec 25 10:09:45 localhost systemd: Unit sshd.service entered failed state.
Dec 25 10:09:45 localhost systemd: sshd.service failed.

我看到了以下信息,知道为什么了,说明这个/var/empty/sshd 的文件权限被人改成了所有人可写的状态或者文件所有者被人改成了非root

ls -l /var/empty

发现确实权限是777, 所以修改文件夹权限744,然后启动sshd

chmod -R 744 /var/empty/sshd

systemctl start sshd.service

再次检查sshd服务和端口发现启动成功

我的原因是:

我之前配置 ftp服务的时候配置成了777的权限。看了这篇文章才明白过来 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐