将服务器SSH远程连接的端口从22改成3333
1、互联网上存在大量无差别的自动化僵尸网络和恶意脚本,它们会24小时不间断地扫描公网IP的默认22端口,尝试进行暴力破解。修改为非标准端口后,可以过滤掉90%以上的此类盲目扫描,大幅降低服务器CPU和内存的无效消耗。
2、许多企业的安全基线标准(如等保2.0)或内部IT管理规范,明确要求禁止使用高危默认端口,以防止内部人员误操作或降低潜在的安全风险暴露面。修改端口是满足此类合规性审查的基础操作。
注:必须登录云平台的控制台,在对应服务器的“安全组”中添加一条入方向规则
Ubuntu版本
一、拷贝一份原始配置文件备份
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak二、编辑 SSH 配置文件
sudo vim /etc/ssh/sshd_config三、在文件中找到#Port 22这一行,去掉前面的#号注释,并将端口号修改为 3333:然后保存
Port 2222四、配置防火墙(修改端口后,必须确保系统防火墙允许新端口的入站连接,Ubuntu 默认使用 UFW 防火墙)
sudo ufw allow 3333/tcp五、重启防火墙
sudo systemctl restart ssh六、重启ssh
sudo systemctl restart sshCentOS版本
一、备份原始文件
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup二、编辑ssh配置文件
sudo vi /etc/ssh/sshd_config三、在文件中找到#Port 22这一行,去掉前面的#号注释,并将端口号修改为 3333:然后保存
Port 3333四、配置 SELinux 放行新端口
#注:如果提示 semanage 命令不存在,需先执行 sudo yum -y install policycoreutils-python 安装工具 sudo semanage port -a -t ssh_port_t -p tcp 2222五、验证是否添加成功(输出中应同时包含 22 和 3333)
sudo semanage port -l | grep ssh六、配置防火墙
# 永久添加端口到 public 区域 sudo firewall-cmd --permanent --zone=public --add-port=3333/tcp # 重新加载防火墙使配置生效 sudo firewall-cmd --reload七、验证端口(返回yes即为成功)
sudo firewall-cmd --zone=public --query-port=3333/tcp八、重启ssh
sudo systemctl restart sshd