温馨提示×

Linux防火墙怎样允许SSH连接

小樊
31
2026-01-03 01:41:33
栏目: 智能运维

在Linux系统中,通常使用iptablesfirewalld作为防火墙来管理网络流量。以下是如何使用这两种工具来允许SSH连接的步骤:

使用iptables

  1. 检查iptables状态(可选):

    sudo iptables -L
    
  2. 允许SSH连接: SSH默认使用端口22。你可以添加一条规则来允许来自任何IP的SSH连接:

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  3. 保存iptables规则(这一步取决于你的Linux发行版):

    • 在Debian/Ubuntu上:
      sudo sh -c "iptables-save > /etc/iptables/rules.v4"
      
    • 在CentOS/RHEL上:
      sudo service iptables save
      
    • 在Fedora上:
      sudo systemctl restart iptables
      
  4. 重启iptables服务(如果需要):

    sudo systemctl restart iptables
    

使用firewalld

  1. 检查firewalld状态(可选):

    sudo firewall-cmd --state
    
  2. 允许SSH连接

    sudo firewall-cmd --permanent --add-service=ssh
    
  3. 重新加载firewalld配置

    sudo firewall-cmd --reload
    
  4. 验证SSH端口是否开放

    sudo firewall-cmd --list-all
    

注意事项

  • 安全性:允许SSH连接时,最好限制允许连接的IP地址范围,而不是允许来自任何IP的连接。例如,使用iptables时:

    sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
    

    这将只允许来自192.168.1.0/24网络的SSH连接。

  • SELinux:如果你的系统启用了SELinux,可能还需要配置SELinux策略以允许SSH连接。

通过以上步骤,你应该能够成功地在Linux防火墙上配置SSH连接。

0