我上次遇到的问题,我修改了sshd的监听端口后,执行servicesshdrestart,然后重新打开一个ssh连接,可以马上连接上sshd,并且Netstat也可以找到新的端口。有一次我更换了端口,然后systemctl重启了sshd,然后统一连接操作发现无法连接,而我已经在firewalld中开了一条规则,用netstat也找不到ssh端口。下面是systemctlstatussshd后的结果。运维之前,现场修改了端口,或者当时没有问题。然后我在我的虚拟机上执行了同样的操作重启服务,然后查看服务状态。sshd.service-OpenSSH服务器守护进程已加载:已加载(/usr/lib/systemd/system/sshd.service;已启用;供应商预设:已启用)活动:自2017年星期日起激活(自动重启)(结果:退出代码)04-0919:42:30CST;786ms前文档:man:sshd(8)man:sshd_config(5)Process:30040ExecStart=/usr/sbin/sshd-D$OPTIONS(code=exited,status=255)MainPID:30040(code=exited,status=255)Apr0919:42:30localhost.localdomainsystemd[1]:启动OpenSSH服务器守护进程...Apr0919:42:30localhost.localdomainsystemd[1]:sshd.service:主进程退出,代码=退出,status=255/n/aApr0919:42:30localhost.localdomainsystemd[1]:Unitsshd.serviceenteredfailedstate.Apr0919:42:30localhost.localdomainsystemd[1]]:sshd.service失败的。但是此时一直卡在activating状态。经历了几次失败的状态后,我选择了远程重启电脑,结果又ok了。....后续遇到的问题,我在配置文件中修改了22端口和8022端口这两个端口,22成功了,但是这个是selinux的问题。一般正式环境下selinux也是关闭的,所以我把selinux关了再重启。服务成功。关闭selinux,查看SELinux状态:1./usr/sbin/sestatus-v##如果SELinuxstatus参数开启,则为开启状态SELinuxstatus:enabled2,getenforce##也可以用这个命令查看并关闭SELinux:1、临时关机(无需重启机器):setenforce0##设置SELinux成为宽容模式##setenforce1设置SELinux成为强制模式2、修改配置文件重启机器:修改/etc/selinux/config文件将SELINUX=enforcing改为SELINUX=disabled重启机器
