侧边栏壁纸
博主头像
liveJQ博主等级

沒有乐趣,何来开始

  • 累计撰写 163 篇文章
  • 累计创建 66 个标签
  • 累计收到 2 条评论

CentOS 修改 SSH 端口后重启失败

liveJQ
2022-06-30 / 0 评论 / 0 点赞 / 997 阅读 / 763 字

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成功

如果有防火墙的话,别忘了放行这个新端口。

0

评论区