centos7设置sshd端口,firewall,selinux设置

以前服务器上用的是ubuntu系统,修改ssh端口的时候很简单,直接在配置文件修改就好了,但是在centos7上修改的时候发现修改端口之后sshd服务不能启动了,如果设置两个端口22和1122的话只能监听到22端口,最后到处查找,最后找到了解决办法:

流程如下

1、修改sshd配置文件
2、设置防火墙firewall,允许新添加的端口被监听
3、设置selinux,在selinux添加要添加的端口
4、重启sshd服务

详细步骤

系统环境:centos7

step1——修改配置文件

在centos7中,sshd的配置文件路径:/etc/ssh/sshd_config
打开文件:sudo vim /etc/ssh/sshd_config,修改配置文件需要使用root权限
假设我们要设置1122为sshd端口
在文件中添加如下内容:

Port 1122

然后保存文件,如果现在重启sshd服务,就会发现启动失败,原因就是firewall和semanage都没有配置

step2——设置firewall

设置防火墙的命令如下:
添加想要修改的端口:
firewall-cmd --zone=public --add-port=1122/tcp --permanent 后面的permanent参数是保存配置,如果没有这个参数,重启之后配置就无效了
重启防火墙
firewall-cmd --reload
查看添加端口是否成功,如果添加成功就显示yes,否则就显示no
firewall-cmd --zone=public --query-port=1122/tcp
这样防火墙就设置好了,进行下一步

step3——设置selinux

selinux是一种安全保护机制,很多帖子在这一步的时候建议关闭selinux,如果是在测试服务器上,这样的话比较方便,但是如果在生产服务器上,这样的做法是不可取的
查看selinux允许的ssh端口
semanage port -l | grep ssh
添加1122端口到selinux
semanage port -a -t ssh_port_t -p tcp 1122
查看是否添加成功
semanage port -l | grep ssh
到这一步,所有需要设置的东西都完成了,重启服务就好了

setp4——重启服务

现在就可以重启服务了,
命令:systemctl restart sshd.service

done,现在就完成了配置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章