Linux

停止從客戶端列印 motd 的 ssh 登錄?

  • January 7, 2021

我已經設置了 SSH 無密碼設置,但是它在登錄時會列印 MoTD。有沒有辦法阻止從客戶端發生這種情況?

我試過ssh -q了,但這不起作用。我不想使用~/.hushlogin也不想更改伺服器設置。唯一可行的方法是使所有輸出安靜,使用>/dev/null 2>&1. 但是,如果確實存在問題,我不想忽略錯誤。即使做>/dev/null也不起作用,因為ssh似乎將 motd 列印到 stderr。

更新和推理我在 cron 中執行備份。除非發生錯誤,否則我不想收到 cron 電子郵件。但是,如果列印了 motd,我會一直收到一封電子郵件。

我想繼續列印 motd,因為這具有法律含義。motd 說“禁止未經授權的訪問”。您需要在其中包含此類聲明以合法地阻止人們訪問它(例如禁止擅自進入的標誌)。因此,我不想一直全面禁用它。

我不確定您為什麼不願意正確執行此操作-無論是在伺服器上還是在 la

PrintMotd no
PrintLastLog no

#/etc/pam.d/ssh
# Print the message of the day upon successful login.
# session    optional     pam_motd.so

或者為每個使用者添加 ~/.hushlogin。

提示,對於 ~/.hushlogin,將其添加到 /etc/skel 以便使用該文件創建新的使用者主目錄。

更新:

如果沒有有關備份 cron 作業的更多資訊,我唯一的其他建議是將命令的輸出重定向到文件(或讓 cron 在電子郵件中擷取它)並將 ssh 會話的輸出重定向到 /dev/null。就像是:

0 0 * * * ssh backuphost "backup_script_that_writes_to_a_log" >/dev/null

要麼

0 0 * * * ssh backuphost "backup_command 2>&1" >/dev/null

我必須稍微玩弄一下這些命令,但這應該能讓你開始。

引用自:https://serverfault.com/questions/36421