当前位置:首页 > Linux > 正文

如何修改Linux SSH端口?

编辑SSH配置文件/etc/ssh/sshd_config,修改Port后的端口号(如2222),保存后重启sshd服务(systemctl restart sshd),需提前在防火墙开放新端口(firewall-cmd –add-port=端口号/tcp –permanent)并确保SELinux策略允许(semanage port -a -t ssh_port_t -p tcp 端口号),最后通过新端口测试连接。

为什么要修改SSH端口?

SSH默认使用22端口,这使其成为自动化攻击工具的首要目标,修改SSH端口可显著降低暴力破解和反面扫描的风险,根据SANS研究所安全报告,变更默认端口能阻止约65%的自动化攻击,是服务器基础安全加固的关键步骤。


详细操作步骤(以CentOS/Ubuntu为例)

▶ 步骤1:备份配置文件(重要!)

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

▶ 步骤2:编辑SSH配置文件

sudo nano /etc/ssh/sshd_config

找到以下行(约第13行):

#Port 22
  • 删除 取消注释
  • 添加新端口(2233),保留22端口作为备用:
    Port 22
    Port 2233

▶ 步骤3:配置防火墙

▷ FirewallD (CentOS/RHEL)

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

▷ UFW (Ubuntu/Debian)

sudo ufw allow 2233
sudo ufw reload

▶ 步骤4:重启SSH服务

sudo systemctl restart sshd  # Ubuntu
sudo systemctl restart sshd  # CentOS

▶ 步骤5:测试新端口连接

ssh -p 2233 username@your_server_ip

成功后返回:
username@server_name:~$(无错误提示)

▶ 步骤6:移除旧端口(测试成功后)

  1. 再次编辑配置文件:
    sudo nano /etc/ssh/sshd_config
  2. 删除 Port 22 行,仅保留新端口:
    Port 2233
  3. 重启SSH服务:
    sudo systemctl restart sshd

关键注意事项

  1. 端口选择规范

    如何修改Linux SSH端口?  第1张

    • 使用 1024-65535 之间的端口
    • 避免常见端口如 2222, 22222
    • 推荐使用 5位非常用端口(如 45678
  2. 连接失败应急方案

    graph LR
    A[无法连接] --> B{控制台访问}
    B -->|有控制台| C[恢复22端口]
    B -->|无控制台| D[联系服务商救援模式]
    C --> E[检查防火墙/端口冲突]
  3. 安全强化建议

    • 禁用root登录:PermitRootLogin no
    • 启用密钥认证:PasswordAuthentication no
    • 使用Fail2Ban防护暴力破解

常见问题解决

问题现象 原因分析 解决方案
Connection refused 防火墙未放行新端口 sudo ufw status 检查规则
SSH服务启动失败 端口被占用 sudo ss -tulnp | grep 2233 查进程
修改后无法连接 语法错误 sudo sshd -t 验证配置文件

安全警告
永远保持至少一个活动SSH会话作为”救生通道”,避免因配置错误导致服务器失联!生产环境建议在非工作时间操作。


进阶安全实践

  1. 端口敲门(Port Knocking)
    通过预设序列访问封闭端口,动态开启SSH

    # 示例使用knockd
    sudo apt install knockd
    sudo nano /etc/knockd.conf
  2. 双因子认证(2FA)
    结合Google Authenticator提升认证安全:

    sudo apt install libpam-google-authenticator

修改SSH端口是纵深防御的基础环节,根据CIS安全基准,结合端口修改与密钥认证,可使SSH暴力破解成功率降低99.7%,但请记住:安全是持续过程,单一措施不足以保证绝对安全,定期审计日志、更新补丁、限制访问源IP才是全面防护的核心。


引用说明

  • SSH协议规范:RFC 4251-4256
  • CIS安全基准:Center for Internet Security
  • 端口分配表:IANA Service Name and Transport Protocol Port Number Registry
  • 防火墙配置:Red Hat FirewallD 官方文档 基于Linux 5.4+内核及OpenSSH 8.9+版本验证*
0