在Ubuntu系統中,限制SSH登錄嘗試可以通過配置PAM(Pluggable Authentication Modules)來實現。以下是具體步驟:
pam_tally2
模塊安裝pam_tally2
模塊:
sudo apt-get update
sudo apt-get install libpam-tally2
編輯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
:允許的最大失敗登錄嘗試次數。unlock_time=600
:鎖定時間(秒),超過這個時間后賬戶會自動解鎖。重啟SSH服務:
sudo systemctl restart sshd
fail2ban
模塊fail2ban
是一個更強大的工具,可以監控日志文件并自動封禁惡意IP地址。
安裝fail2ban
:
sudo apt-get update
sudo apt-get install fail2ban
配置fail2ban
:
編輯/etc/fail2ban/jail.local
文件:
sudo nano /etc/fail2ban/jail.local
添加以下內容:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 600
這里的參數解釋如下:
maxretry
:允許的最大失敗登錄嘗試次數。bantime
:封禁時間(秒)。啟動并啟用fail2ban
服務:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
使用pam_tally2
:
可以通過以下命令查看賬戶的鎖定狀態:
sudo pam_tally2 --user=username
使用fail2ban
:
可以通過以下命令查看封禁的IP地址:
sudo fail2ban-client status sshd
通過以上方法,你可以有效地限制SSH登錄嘗試,提高系統的安全性。