Linux
如何設置 sshd 使其從不要求特定使用者的密碼?
我有一個名為“git”的專用系統帳戶,由 gitlab/gitolite 管理。連接到此帳戶的使用者始終使用 SSH 密鑰,“git”使用者沒有密碼。如果使用者在沒有 SSH 密鑰或配置錯誤的密鑰的情況下進行連接,他們會因為被要求輸入密碼而感到困惑。我正在尋找一種方法來設置伺服器,以便在這種情況下它不會要求輸入密碼,而是顯示某種使用者友好的消息(“您的密鑰失去或無效”等)並斷開連接。是否有可能,無論是在 sshd 配置中,還是以其他方式(也許是 PAM)?
請注意,我不是在問如何設置公共/私人無密碼連接。只是如何防止伺服器要求單個特定使用者的密碼。
(我知道這樣的設置向潛在的攻擊者揭示了系統中存在使用者“git”。但由於“git”沒有密碼並且攻擊者無論如何都可以輕鬆確定它的存在,我認為它只是一個低風險。)
您可以禁用該特定使用者的密碼登錄。您無法提供特定消息,但至少不會提示他們輸入密碼。在 中添加以下內容
/etc/ssh/sshd_config
:Match user git PasswordAuthentication no ChallengeResponseAuthentication no