一個ssh無法遠端登入的問題跟蹤解決

silent發表於2023-12-26
使用者反饋龍芯伺服器系統loongnix-server使用root使用者ssh遠端登入,有時候可以有時候又無法登入,頻繁出現錯誤:Permission denied,please try again。我分析可能是防火牆攔截,也可能是登入連線數達到限制,無法接入新的連線,後去掉防火牆直連還是出現問題,檢視日誌:
cat /var/log/secure|grep root
發現有如下資訊:
pam tally2(login:auth): user root (0) tally 30, deny 3

  日誌發現是觸發了PAM的限制而導致機器不能登入,限制使用者登入次數設定是防止伺服器被暴力破解的有效手段,在生產環境通常都會設定,一旦觸發,所登入的使用者就不能進行登入,直到符合規則上的 鎖解時間才可以進行再次登入。

  使用者下次在登入成功後可以執行一下pam_tally2 -u root -r把錯誤次數清空一下,就會重新累計登入錯誤次數,執行完成後再次登入一般會提示如下資訊:

There were 5 failed login attempts since the last successful login

  執行pam_tally2 -u root可以檢視已經累計的錯誤次數;

  可以透過修改配置檔案/etc/pam.d/sshd設定登入次數和觸發鎖定使用者機制後的解綁時間,配置資訊如下:

head -1 /etc/pam.d/sshd
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=300

deny=3 表示嘗試登入次數,超過3次後會執行後續動作,單位為秒
even_deny_root 對root也開啟此限制

  該配置必須新增到/etc/pam.d/sshd檔案最上方,否則不起作用;

 

PS:  pam_tally2 模組資料:
  pam tally2模組用於記錄使用者登入失敗的次數,並在達到一定的聞值後禁止使用者繼續嘗試登入。它是種安全措施,可以幫助保護系統免受惡意攻擊
  pam tally2模組分為兩部分,一部分是pam tally2.so,另一部分是pam tally2。它基於PAM模組可用於檢查和操作計數器檔案。它可以顯示使用者登入嘗試次數,單獨設定計數,也可清除計數,解鎖所有使用者登入鎖定。

 

相關文章