
當使用者輸入使用者名稱登入我們的 Linux 伺服器後,我會收到一條警告訊息。我只想在密碼驗證時顯示此訊息,而不是在使用金鑰時顯示此訊息。它應該只向正在登入主機的使用者顯示,而不是當他們從一台主機ssh 到另一台主機時顯示(我們的主機都設定了金鑰,因此我們可以在不輸入密碼的情況下從一台主機ssh 到另一台主機)。
目前,我在 /etc/ssh/sshd_config 檔案中有一行 Banner,它指向包含警告訊息的文字檔案。 Banner 似乎沒有任何進一步的配置選項,所以我想知道是否有辦法使用 pam 或其他機制來做到這一點?謝謝。
答案1
是的,您可以使用該pam_echo
插件:
auth required pam_unix.so
auth optional pam_echo.so file=/etc/ssh/password_banner.txt
這應該在密碼登入後產生 pam_echo 輸出。
看http://www.linux-pam.org/Linux-PAM-html/sag-pam_echo.html對於文檔。
編輯:您還需要確保您UsePAM yes
的sshd_config
.將密碼替換為身份驗證。
答案2
我只想在密碼驗證時顯示此訊息,而不是在使用金鑰時顯示此訊息。它應該只向正在登入主機的使用者顯示,而不是當他們從一台主機ssh 到另一台主機時顯示(我們的主機都設定了金鑰,因此我們可以從一台主機ssh 到另一台主機而無需輸入密碼)。
你在談論嗎使用者鍵~/.ssh/authorized_keys
或主持人鑰匙/etc/ssh/ssh_known_hosts
?
目前,我在 /etc/ssh/sshd_config 檔案中有一行橫幅,它指向包含警告訊息的文字檔案。
Banner
被展示前任何身份驗證都會發生。
我想知道是否有辦法用 pam 或其他機制來做到這一點?
您可以嘗試檢查遠端(來源)主機名稱:檢查pam_access
使用者是否來自網路外部:
會話 [成功=1 預設=忽略] pam_access.so accessfile=/etc/pam_access_localnet.conf 會話可選 pam_echo.so file=/etc/notice
/etc/pam_access_localnet.conf
:
+ : 全部 : 192.168.201.0/24 - : 全部 : 全部