今天遇到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服務和端口發現啓動成功