1.修改sshd_config端口

vi /etc/ssh/sshd_config
#找到#Port 22的位置,添加22和新端口,如下:
Port 22
Port 2345
#wq保存后重启
systemctl restart sshd

2.查看系统SELinux当前的状态

#getenforce
enforcing:强制模式(临时开启)
permissive:宽容模式(临时关闭)
disabled:永久关闭
临时开启、关闭SELinux(大白话:重启后会恢复为系统配置文件中设置的状态)

#临时关闭
setenforce 0

#临时开启
setenforce 1

3.配置firewall

  • 启用防火墙、查看防火墙状态
systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld
systemctl-cmd --state
  • 查看firewall当前和激活的zone
firewall-cmd --get-default-zone
firewall-cmd --get-active-zones
#显示
public
    interfaces:eth0
 #如果没有激活,激活public区域,添加所有网卡:
 firewall-cmd --set-default-zone=public
 firewall-cmd --zone=public --add-interface=eht0   #根据自己服务器,把所有网卡:eth0,eth1,enss33等全部添加
  • 为public zone开放2345端口
#防火墙中暴露22端口,防止新端口未生效
firewall-cmd --permanent --zone=public --add-port=22/tcp
firewall-cmd --permanent --zone=public --add-port=2345/tcp
firewall-cmd --reload
#查看暴露的端口
firewall-cmd --permanent --list-port
firewall-cmd --zone=public --list-all       #查看所有设置

#推出后尝试新端口连接,连接成功后禁用22端口
ssh -p 2345 root@ip
  • 禁用22端口连接
#sshd_config文件中删除22端口
vi /etc/ssh/sshd_config
    #Port 22
systemctl restart sshd
#用ss命令检查ssh监听端口,没有22证明成功
ss -tnlp | grep ssh
#防火墙移除22端口
firewall-cmd --permanent --zone=public --remove-port=22/tcp
firewall-cmd --reload
firewall-cmd --permanent --list-port

上述配置已经完毕