文档首页> 常见问题> 如何修改Linux服务器的SSH端口?

如何修改Linux服务器的SSH端口?

发布时间:2025-04-18 17:22       

如何安全修改Linux服务器的SSH端口?详细操作指南

作者:Linux安全专家 | 更新时间:2023年11月15日

SSH是管理Linux服务器最常用的远程连接协议,但默认的22端口常常成为黑客攻击的目标。本文将详细介绍修改SSH端口的完整流程,帮助您提升服务器安全性。

为什么要修改SSH端口?

  • 减少自动化攻击:90%的SSH暴力破解尝试针对默认22端口
  • 安全合规要求:许多安全标准建议修改默认端口
  • 隐藏服务:避免暴露明显的服务入口点

修改SSH端口的完整步骤

第一步:选择新端口号

选择1024-65535之间的端口,避免使用常见服务端口:

建议范围:49152-65535(动态/私有端口)
不建议使用:2222, 22222等常见替代端口

第二步:检查端口可用性

netstat -tuln | grep '你想使用的端口号'
# 如果没有返回结果表示端口可用

第三步:修改SSH配置文件

使用vim或nano编辑配置文件:

sudo vim /etc/ssh/sshd_config

找到并修改以下行:

#Port 22 → 取消注释并修改为
Port 22222  # 示例端口号

第四步:防火墙设置

根据您的防火墙类型操作:

iptables用户:

sudo iptables -A INPUT -p tcp --dport 22222 -j ACCEPT
sudo service iptables save

firewalld用户(CentOS/RHEL):

sudo firewall-cmd --permanent --add-port=22222/tcp
sudo firewall-cmd --reload

UFW用户(Ubuntu):

sudo ufw allow 22222/tcp

第五步:重启SSH服务

sudo systemctl restart sshd  # 现代系统
或
sudo service ssh restart    # 旧版系统

重要注意事项

  1. 测试新端口连接不要关闭现有会话
  2. 建议保持22端口开放24-48小时作为过渡
  3. 考虑安装fail2ban增强防护
  4. 记录新端口号到安全位置

验证修改是否成功

使用新端口测试连接:

ssh username@server_ip -p 22222

可选高级配置

  • 多端口监听:在sshd_config中添加多个Port行
  • 端口敲门:设置只有特定端口序列才能打开SSH端口
  • IP限制:结合防火墙规则限制访问源IP

修改SSH端口是服务器安全的基础防护措施,虽然不能完全阻止定向攻击,但可以有效减少自动化扫描和暴力破解尝试。建议每6-12个月更换一次端口号,并配合其他安全措施如密钥认证、双因素认证等。

专业提示: 在云服务器上,别忘了同时修改安全组的入站规则!

常见问题解答

Q:修改端口后无法连接怎么办?
A:检查:1) 防火墙规则 2) 安全组设置 3) 是否保留了测试会话 4) 服务是否正常启动

Q:可以完全禁用22端口吗?
A:确认新端口工作正常后,可以从防火墙规则中移除22端口,但不建议从sshd_config中完全删除Port 22行。