之前在阿里云的CentOS 7中修改端口曾经遇到过问题,当时也没搞很明白,就按照网上的教程搞了一下就成功解决了。
最近腾讯云一个活动中斥巨资三百多大洋撸了一个服务器7年,还得了一个无门槛百元券,果断注册新米www.ijevin.cm,目前正在备案,后面就准备把博客正式搬回国了!
就在我等着下备案的过程中,在腾讯这服务器上试了Debian 9.0 X64系统和宝塔面板的搭配,很可惜无法安装PHP(对宝塔的吐槽已经足够多)。但是宝塔官方一直说他们支持最好的是CentOS系统,所以我又装回了64位的CentOS 7.4系统。结果在修改端口时,遇到了和阿里云一模一样的问题。后面一个防火墙的问题,按照之前的经验直接进控制台登录可以解决,而SELinux那个错误是我今天要说的。
和上次一模一样的地方,即通过:
semanage port -a -t ssh_port_t -p tcp XXXX //XXXX为你需要添加的端口
添加端口时遇到报错,具体如截图:
当时没弄懂,实际上出现错误提示:
SELinux: Could not downgrade policy file /etc/selinux/targeted/policy/policy.30, searching for an older version.
SELinux: Could not open policy file <= /etc/selinux/targeted/policy/policy.30: No such file or directory
/sbin/load_policy: Can't load policy: No such file or directory
libsemanage.semanage_reload_policy: load_policy returned error code 2. (No such file or directory).
OSError:No such file or directory
是由于SELinux此时的状态为禁用,所以使用semanage命令就会报错说无法读取 policy 文件。
解决方法很简单,修改SELinux配置文件即可,按下面命令:
vi /etc/selinux/config
可以看到其中有一个SELINUX=disable,将disable改为permissive即可,如下图:
修改完毕后,退出vi,打命令:
init 6
此时系统会重启,重启完成后,继续命令:
sestatus
通过该命令我们可以看到此时SELinux的状态已经是enabled了,如下图:
此时再回到前面的添加端口,就会发现已经不会报错了!
至此,经过反复修改,对于改CentOS 7的SSH登录端口算是又多了一点点的认识。
:smile: :smile: :smile:测试表情删除最后的空格
折腾不止,测试不息啊!