溫馨提示×

Ubuntu SSH如何限制登錄次數

小樊
81
2025-03-20 09:10:48
欄目: 智能運維

在Ubuntu系統中,可以通過配置SSH服務器來限制登錄次數。以下是一些方法:

方法一:使用PAM(Pluggable Authentication Modules)

  1. 安裝PAM模塊

    sudo apt-get update
    sudo apt-get install libpam-cracklib
    
  2. 編輯PAM配置文件: 打開/etc/pam.d/sshd文件:

    sudo nano /etc/pam.d/sshd
    

    在文件頂部添加以下行:

    auth required pam_tally2.so onerr=fail deny=5 unlock_time=600
    

    這里的deny=5表示允許最多5次失敗的登錄嘗試,unlock_time=600表示在鎖定后600秒(10分鐘)內無法再次嘗試登錄。

  3. 重啟SSH服務

    sudo systemctl restart sshd
    

方法二:使用Fail2Ban

Fail2Ban是一個更強大的工具,可以監控日志文件并自動禁止惡意IP地址。

  1. 安裝Fail2Ban

    sudo apt-get update
    sudo apt-get install fail2ban
    
  2. 配置Fail2Ban: 編輯Fail2Ban的配置文件/etc/fail2ban/jail.local

    sudo nano /etc/fail2ban/jail.local
    

    添加以下內容:

    [DEFAULT]
    bantime = 600
    findtime = 600
    maxretry = 5
    
    [ssh]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 5
    bantime = 600
    

    這里的maxretry表示允許最多5次失敗的登錄嘗試,bantime表示在鎖定后600秒(10分鐘)內無法再次嘗試登錄。

  3. 重啟Fail2Ban服務

    sudo systemctl restart fail2ban
    

方法三:使用iptables

如果你更喜歡使用iptables來限制登錄次數,可以按照以下步驟操作:

  1. 創建iptables規則

    sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
    sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 600 --hitcount 5 -j DROP
    

    這里的--seconds 600表示在600秒(10分鐘)內,如果某個IP地址嘗試登錄超過5次,則會被阻止。

  2. 保存iptables規則

    sudo apt-get install iptables-persistent
    sudo netfilter-persistent save
    sudo netfilter-persistent reload
    

通過以上方法,你可以有效地限制Ubuntu系統上的SSH登錄次數,提高系統的安全性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女