centos 7.6修改ssh端口,设置防火墙规则
一、修改ssh端口
1 使用 root 用户进入 /etc/ssh目录
2 备份ssh配置文件 cp sshd_config sshd_config-bak
3 使用 vim 打开 sshd_config
文件: vim sshd_config
找到 Port 哪一行,在相面添加一行
#Port 22
Port 8022
保存,退出。
4 重启ssh服务:systemctl restart sshd
二、设置防火墙规则
我机器上是关闭selinux的,默认是开启的。
关于selinux的关闭及设置规则方法,参考第三部分。
以下是使用firewall-cmd命令设置防火墙规则
1、查看状态
firewall-cmd --state
2、获取活动的区域
firewall-cmd --get-active-zones
3、 获取所有支持的服务
firewall-cmd --get-service
4、应急模式(阻断所有的网络连接)
firewall-cmd --panic-on #开启应急模式
firewall-cmd --panic-off #关闭应急模式
firewall-cmd --query-panic #查询应急模式
5、启用某个服务/端口
firewall-cmd --zone=public --add-service=https #临时
firewall-cmd --permanent --zone=public --add-service=https #永久
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp #永久
firewall-cmd --zone=public --add-port=8080-8081/tcp #临时
如果是要删除,直接修改成remove-service或者remove-port
6、查看开启的端口和服务
firewall-cmd --permanent --zone=public --list-services #服务空格隔开 例如 dhcpv6-client https ss
firewall-cmd --permanent --zone=public --list-ports #端口空格隔开 例如 8080-8081
在每次修改 端口和服务后 /etc/firewalld/zones/public.xml 文件就会被修改。
7、设置某个ip 访问某个服务,比如ssh服务
最好在/etc/firewalld/services/目录下新建服务,比如ssh.xml
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.122.0/24" service name="ssh" accept"
添加的规则会在/etc/firewalld/zones/public.xml中实时保存。
8、修改配置文件后 使用命令重新加载
firewall-cmd --reload
重启防火墙:
systemctl restart firewalld.service
9、补充
防火墙预定义的服务配置文件是xml文件,目录在 /usr/lib/firewalld/services/; 在 /etc/firewalld/services/ 这个目录中也有配置文件,但是/etc/firewalld/services/目录优先于 /usr/lib/firewalld/services/ 目录。
三、selinux设置
1、查看是否开启了SELinux:sestatus
2、永久关闭selinux
vim /etc/selinux/config
找到“selinux=”那一行
修改为:SELINUX=disabled
保存,退出。
3、重启系统reboot后生效。
4、临时关闭selinux方法:setenforce 0
谢谢。