云服务器 Linux 如何修改默认的 SSH 端口?
Linux云服务器SSH端口修改完全指南:提升安全性的关键步骤
在云服务器管理中,SSH端口修改是最基础却至关重要的安全措施之一。本文将详细介绍在Linux系统上修改默认SSH端口的完整流程,包含CentOS、Ubuntu等主流发行版的具体操作方法,以及修改后必须注意的防火墙配置和连接测试等关键环节。
目录
为什么要修改SSH端口
修改前的准备工作
详细修改步骤
防火墙配置调整
测试与验证
常见问题排查
为什么要修改SSH端口
默认SSH端口22是黑客攻击的首要目标。通过修改默认端口可以:
减少自动化扫描攻击
降低暴力破解风险
提高服务器整体安全性
满足某些合规性要求
修改前的准备工作
在进行任何SSH配置修改前,必须做好以下准备:
确保有其他可用的连接方式(如控制台访问)
在本地保留当前SSH会话不关闭
备份SSH配置文件:sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
检查SELinux状态(如启用需要额外配置)
详细修改步骤
1. 编辑SSH配置文件
sudo vi /etc/ssh/sshd_config
找到#Port 22这行,取消注释并将22改为新端口号(如23456):
Port 23456
2. 重启SSH服务
根据发行版选择相应命令:
CentOS/RHEL: sudo systemctl restart sshd
Ubuntu/Debian: sudo service ssh restart
防火墙配置调整
必须同步更新防火墙规则:
# 查看当前防火墙状态
sudo firewall-cmd --state
# 添加新端口
sudo firewall-cmd --permanent --add-port=23456/tcp
# 移除旧端口
sudo firewall-cmd --permanent --remove-port=22/tcp
# 重新加载防火墙
sudo firewall-cmd --reload
测试与验证
在关闭当前SSH会话前,务必进行测试:
新开终端窗口尝试使用新端口连接:
ssh username@server_ip -p 23456
确认连接成功后,再关闭原会话
使用netstat验证端口监听状态:
sudo netstat -tulnp | grep sshd
常见问题排查
连接被拒绝
检查防火墙规则是否生效,确认sshd服务正常运行
SELinux导致的问题
执行:sudo semanage port -a -t ssh_port_t -p tcp 23456
服务启动失败
检查配置文件语法:sudo sshd -t
总结
修改SSH端口是服务器安全加固的基础操作,但需要谨慎执行。本文介绍的完整流程包括配置文件修改、服务重启、防火墙调整和连接测试等关键步骤,可确保修改过程顺利且不影响正常远程管理。建议在修改后配合Fail2Ban等工具进一步增强SSH安全性。