售前咨询400-838-0503

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

发布:2025-04-18 04:55

Linux云服务器SSH端口修改全攻略:安全与实操并重

在数字化时代,云服务器安全成为每个运维人员的必修课。本文将通过7个详细步骤,带您完成从风险分析到防火墙配置的完整SSH端口修改流程,并分享3个提升安全级别的进阶技巧。

为什么要修改默认22端口?

每天有超过300万次的自动化扫描尝试通过22端口暴力破解SSH服务。通过修改默认端口,可以:

  • 减少98%的自动化攻击尝试
  • 隐藏服务指纹特征
  • 符合企业安全合规要求

⚠️ 注意:端口号需选择1024-65535之间的非知名端口,避免与常用服务冲突

详细操作步骤(Ubuntu/CentOS通用)

步骤1:备份关键配置文件

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

步骤2:编辑SSH配置

使用vim或nano打开配置文件:

sudo vim /etc/ssh/sshd_config

找到#Port 22这行,取消注释并修改为:

Port 2222  # 示例使用2222端口

步骤3:多端口监听配置(可选)

为兼容现有连接,可添加多行Port配置:

Port 22
Port 2222

💡 专业建议:测试阶段保留22端口,确认新端口可用后再关闭

防火墙关键配置

根据不同防火墙工具进行配置:

UFW防火墙

sudo ufw allow 2222/tcp
sudo ufw reload

Firewalld(CentOS)

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

IPTables直配

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

连接测试与验证

在新终端测试连接(保持原会话不退出):

ssh -p 2222 username@server_ip

成功连接后,最后禁用原22端口:

sudo sed -i 's/Port 22/#Port 22/g' /etc/ssh/sshd_config
sudo systemctl restart sshd

3个进阶安全方案

1. 端口敲门(Port Knocking)

安装knockd服务实现动态端口开放:

sudo apt-get install knockd
sudo systemctl enable knockd

2. 双因素认证

结合Google Authenticator实现:

sudo apt-get install libpam-google-authenticator
google-authenticator

3. Fail2Ban自动封禁

自动屏蔽暴力破解尝试:

sudo apt-get install fail2ban
sudo systemctl enable fail2ban

常见问题解决

Q:修改后无法连接怎么办?

A:通过云控制台使用VNC连接,检查:

  • sshd服务状态:systemctl status sshd
  • 防火墙规则:ufw statusfirewall-cmd --list-all
  • 端口监听状态:ss -tulnp | grep 2222

通过本文的详细指导,您不仅学会了修改SSH端口的基础操作,还掌握了企业级的安全增强方案。记得定期检查/var/log/auth.log日志,并考虑设置自动化安全审计脚本。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单