SSH(Secure Shell)是管理Linux服务器的核心工具,但其默认端口22常成为恶意扫描和攻击的目标。通过修改默认端口,可显著提升服务器安全性,减少自动化攻击风险。本文将以CentOS 7为例,分步详解端口修改流程,涵盖配置调整、SELinux与防火墙设置、服务重启及故障排查,确保操作零遗漏。
一、修改前的准备工作
1. 备份配置文件:为防止误操作导致无法登录,建议先备份SSH配置文件:sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
2. 选择新端口号:端口号需在10000~65535之间,避免与系统服务冲突。例如,选用端口50026或10086。
二、分步修改SSH端口
1. 编辑SSH配置文件
- 使用root权限打开文件:
vi /etc/ssh/sshd_config。 - 找到
#Port 22行,取消注释并新增端口(如50026),保留22端口作为应急:
Port 22
Port 50026 - 保存并退出编辑器。
2. 配置SELinux允许新端口
SELinux默认仅放行22端口,需手动添加新端口:
- 安装管理工具(如未安装):
yum -y install policycoreutils-python - 添加端口到SELinux策略:
semanage port -a -t ssh_port_t -p tcp 50026 - 验证是否添加成功:
semanage port -l | grep ssh
3. 放行防火墙端口
- 添加新端口到防火墙规则:
firewall-cmd --zone=public --add-port=50026/tcp --permanent - 重载防火墙生效:
firewall-cmd --reload - 确认端口已开放:
firewall-cmd --zone=public --query-port=50026/tcp
4. 重启SSH服务并验证
- 重启服务:
systemctl restart sshd.service - 检查服务状态:
systemctl status sshd - 使用新端口登录测试:
ssh username@服务器IP -p 50026
三、进阶配置与安全优化
1. 关闭旧端口(22):确认新端口可用后,编辑sshd_config删除Port 22行,再次重启SSH服务。
2. 安全增强措施:
- 使用密钥认证替代密码登录,防范暴力破解
- 限制IP白名单访问,结合防火墙规则缩小攻击面
四、常见问题与解决方案
- 问题1:semanage命令未找到。
解决:执行yum provides semanage安装依赖包 - 问题2:SELinux报错“Could not get direct transaction lock”。
解决:重命名锁文件:
mv /etc/selinux/targeted/modules/semanage.trans.LOCK /etc/selinux/targeted/modules/semanage.trans.LOCK.back - 问题3:云服务器端口未通(如阿里云)。
解决:检查安全组规则,手动添加新端口到入站规则
五、结语:安全升级与优惠指引
修改SSH端口是服务器安全的基础防线,可有效阻断80%的自动化攻击。结合密钥认证与防火墙策略,能构建多层防护体系。若您计划部署云服务,推荐在购买阿里云产品前,通过云小站平台领取满减代金券,享受优惠的同时保障业务安全。
内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。
本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/15076.html