温馨提示×

Ubuntu如何配置SSH防火墙

小樊
45
2025-10-31 02:01:09
栏目: 智能运维

Ubuntu配置SSH防火墙的步骤

1. 安装并启用UFW防火墙

UFW(Uncomplicated Firewall)是Ubuntu默认的防火墙管理工具,需先安装并启用:

sudo apt update  # 更新软件包列表
sudo apt install ufw  # 安装UFW
sudo ufw enable  # 启用UFW(系统启动时自动开启)
sudo ufw default deny incoming  # 设置默认策略:拒绝所有入站连接(保障初始安全)

2. 允许SSH服务通过防火墙

SSH默认使用22端口(TCP协议),可通过以下两种方式允许访问:

  • 方式1:使用服务名(推荐,避免记错端口)
    sudo ufw allow ssh  # 允许SSH服务(自动匹配/etc/services中的22端口)
    
  • 方式2:指定端口(若修改了SSH默认端口,需替换为实际端口)
    sudo ufw allow 22/tcp  # 允许22端口的TCP流量(SSH默认端口)
    # 若修改为其他端口(如2222),则命令为:sudo ufw allow 2222/tcp
    

3. 验证防火墙规则

执行以下命令查看UFW规则,确认SSH端口已开放:

sudo ufw status  # 查看规则(显示“22/tcp ALLOW Anywhere”即表示成功)

输出示例:

Status: active
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)

4. (可选)限制SSH访问IP(增强安全性)

若仅需特定IP访问SSH,可使用from参数限制源IP:

sudo ufw allow from 192.168.1.100 to any port 22  # 仅允许192.168.1.100访问22端口
# 若修改了SSH端口,替换为实际端口:sudo ufw allow from 192.168.1.100 to any port 2222

5. 重启UFW使规则生效

修改规则后,无需重启系统,直接重载UFW即可:

sudo ufw reload  # 重新加载防火墙规则

6. 结合SSH配置进一步加固(推荐)

防火墙是第一道防线,还需通过SSH配置提升安全性:

  • 编辑SSH配置文件:
    sudo nano /etc/ssh/sshd_config
    
  • 修改以下关键参数(取消注释并调整值):
    Port 2222  # 修改默认端口(避免自动化工具扫描)
    PermitRootLogin no  # 禁止root直接登录(降低被爆破风险)
    PasswordAuthentication no  # 禁用密码认证(强制使用密钥认证)
    AllowUsers your_username  # 仅允许指定用户登录(如your_username)
    
  • 保存后重启SSH服务:
    sudo systemctl restart ssh  # 使配置生效
    

注意事项

  • 测试连接:配置完成后,从客户端测试SSH连接(如ssh -p 2222 your_username@server_ip),确保能正常访问。
  • 备份配置:修改sshd_config前建议备份(sudo cp /etc/ssh/sshd_config{,.bak}),避免配置错误导致无法登录。
  • 密钥认证:若禁用了密码认证,需提前将客户端的公钥上传至服务器(ssh-copy-id -p 2222 your_username@server_ip)。

0