温馨提示×

SSH连接CentOS时遇到防火墙怎么办

小樊
49
2025-08-24 15:09:57
栏目: 智能运维

遇到SSH连接CentOS时被防火墙拦截,可按以下步骤解决:

  1. 确认防火墙状态
    检查firewalld是否运行:

    sudo systemctl status firewalld  
    

    若未运行,启动并开机自启:

    sudo systemctl start firewalld  
    sudo systemctl enable firewalld  
    
  2. 放行SSH端口

    • 默认端口(22)
      sudo firewall-cmd --permanent --add-service=ssh  
      
    • 自定义端口(需先修改SSH配置文件/etc/ssh/sshd_configPort项):
      sudo firewall-cmd --permanent --add-port=新端口/tcp  
      

    重新加载防火墙规则:

    sudo firewall-cmd --reload  
    
  3. 限制访问来源(可选)
    仅允许特定IP或网段访问SSH:

    sudo firewall-cmd --permanent --add-rich-rule='rule source address="IP/网段" port port="SSH端口" protocol="tcp" accept'  
    

    例如:

    sudo firewall-cmd --permanent --add-rich-rule='rule source address="192.168.1.0/24" port port="2222" protocol="tcp" accept'  
    
  4. 验证配置
    查看防火墙规则是否生效:

    sudo firewall-cmd --list-all  
    

    测试SSH连接:

    ssh -p 端口 用户名@服务器IP  
    

注意:修改SSH端口后,需同步更新防火墙规则并重启SSH服务。若仍无法连接,检查SELinux是否限制端口(需用semanage工具放行)。

0