您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# CentOS7中怎么修改SSH登录端口
## 前言
SSH(Secure Shell)是Linux系统中最重要的远程管理协议之一,默认使用22端口。由于该端口广为人知,容易成为攻击目标。本文将详细介绍在CentOS7系统中修改SSH端口的完整流程,包括防火墙配置、SELinux设置以及验证步骤。
---
## 一、环境准备
在开始前请确认:
1. 已安装CentOS7系统
2. 具有root或sudo权限
3. 当前SSH连接正常(重要!避免修改后失去连接)
```bash
# 查看系统版本
cat /etc/redhat-release
# 检查SSH服务状态
systemctl status sshd
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
vi /etc/ssh/sshd_config
找到以下行(约第17行):
#Port 22
修改为(例如改用5022端口):
Port 5022
#Port 22
注意: - 保留原22端口的注释作为备用 - 端口号范围应为1024-65535(0-1023为系统保留)
systemctl status firewalld
firewall-cmd --permanent --add-port=5022/tcp
firewall-cmd --permanent --remove-port=22/tcp
firewall-cmd --reload
# 验证端口列表
firewall-cmd --list-ports
如果系统启用了SELinux,需要额外设置:
sestatus
semanage port -a -t ssh_port_t -p tcp 5022
semanage port -l | grep ssh
systemctl restart sshd
关键提醒:不要立即关闭当前连接!需要先测试新端口是否可用。
ssh -p 5022 username@server_ip
nc -zv server_ip 5022
确认新端口工作正常后,可完全禁用22端口:
1. 编辑/etc/ssh/sshd_config
删除#Port 22
2. 重启SSH服务
3. 防火墙永久移除22端口
systemctl status sshd
firewall-cmd --list-all
grep sshd /var/log/audit/audit.log
错误1:无法绑定到端口
# 检查端口占用
netstat -tuln | grep 5022
错误2:SELinux阻止访问
# 临时解决方案(生产环境不推荐)
setenforce 0
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="5022" accept'
PasswordAuthentication no
yum install epel-release
yum install fail2ban
完整流程示意图:
graph TD
A[备份sshd_config] --> B[修改端口号]
B --> C[防火墙放行]
C --> D[SELinux配置]
D --> E[重启SSH]
E --> F[测试连接]
F --> G[移除旧端口]
通过修改默认SSH端口,可有效减少自动化攻击。建议每3-6个月更换一次端口,并结合其他安全措施形成纵深防御体系。
最后提醒:在进行任何网络配置修改时,务必保持至少一个活跃的SSH连接,避免配置错误导致服务器失联。 “`
(全文约1350字,包含代码块、注意事项和可视化流程图)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。