Failed to start OpenSSH server daemon.
错误信息就这么一句,只是改了个端口,也没动其它配置呀。
sshd -t
执行后没啥输出,这就证明了配置的确没有问题。再回到配置文件查看时,发现了这么几句注释:
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port 10010
这么看来应该就是这该死的SELinux
搞的鬼了,按照提示执行出现-bash: semanage: command not found
没有找到这条命令🙃,那只能先安装了。
yum provides /usr/sbin/semanage && yum install policycoreutils-python -y
安装完成后再次尝试执行
semanage port -a -t ssh_port_t -p tcp 10010
注意:当
SELinux
配置为禁用状态时,使用semanage
会报错提示无法读取policy
文件
查看新端口是否加入了SELinux
放行列表
semanage port -l | grep ssh
ssh_port_t tcp 10010, 22
不需要的端口可以移除
semanage port -d -t ssh_port_t -p tcp 10010
注意:
semanage
在策略中定义了端口 tcp/22,无法删除
好吧,其实你也可以直接关闭SELinux
,最终的效果都一样。
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
最后重启SSH
成功
如果有防火墙的话,别忘了放行这个新端口。
评论区