今天遇到CentOS 7 下远程连不上,我的是主机和虚拟机都可以ping通,如果虚拟机可以ping通主机,主机不通虚拟机,就断下网卡或者重启一下网络设置(在虚拟机里),都ping通怀疑sshd服务没有启动,先检查了端口和服务是否启动:
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
我看到了以下信息,知道为什么了,说明这个/var/empty/sshd 的文件权限被人改成了所有人可写的状态或者文件所有者被人改成了非root
ls -l /var/empty
发现确实权限是777, 所以修改文件夹权限744,然后启动sshd
chmod -R 744 /var/empty/sshd
systemctl start sshd.service
再次检查sshd服务和端口发现启动成功
如果还是ping不通就直接创建一个/var/empty/sshd,改权限,和启动sshd服务