如何禁用 SSH 登录后的欢迎消息?

如何禁用 SSH 登录后的欢迎消息?

我已经更改了/etc/issue.net,所以我在 SSH 终端中输入用户名后设置了“个人”消息。现在我试图更改登录成功后的欢迎文本。

我找到了很多关于该/etc/motd文件的帖子,但是“欢迎使用 Ubuntu blabla 版本号等”+“* 文档 URL ”部分不存在?

我只是不想在 SSH 终端中显示操作系统信息,我已经知道我安装了什么。:) 我只想查看我上次的登录信息。而且也不想查看错误;错误属于日志文件。

我必须编辑哪个文件?

答案1

欢迎信息由驻留在中的文件生成/etc/update-motd.d/

man update-motd

/etc/update-motd.d/* 中的可执行脚本由 pam_motd(8) 以 root 用户身份在每次登录时执行,并且此信息连接在 /var/run/motd 中。

因此,如果您不希望在登录时输出这些脚本,ssh只需删除它们的执行标志:

sudo chmod -x /etc/update-motd.d/*

现在,如果您想在登录时显示所需的内容,您有两个选择:

  • 制作一个脚本,将其放入/etc/update-motd.d/,使其可执行,同时确保它在 STDOUT 上输出。

  • ssh有一个Banner选项。您可以将文本放入文件中,并在Banner选项中设置,以便在通过 登录时显示文件内容ssh。请注意,这仅适用于ssh

    Banner /etc/foobar
    

    man 5 sshd_config

     Banner  The contents of the specified file are sent to the remote user
             before authentication is allowed.  If the argument is “none” then
             no banner is displayed.  This option is only available for
             protocol version 2.  By default, no banner is displayed.
    

答案2

另一种不需要管理权限的方法是放置一个名为

.hushlogin

进入您的 $HOME 目录(例如使用touch ~/.hushlogin)。

这个解决方案的缺点是,你可能会错过类似这样的消息

Last login: Wed Aug 22 16:00:10 2007 from l33t.hax0r.some.ips

这表明您的帐户已被盗用。

来源

答案3

你也可以pam_motd彻底核查:

sed -i '/^[^#]*\<pam_motd.so\>/s/^/#/' /etc/pam.d/sshd

PAM 调用pam_motd取决于 中的设置/etc/pam.d,通常条目为:

$ grep pam_motd /etc/pam.d -R
/etc/pam.d/login:session    optional   pam_motd.so  motd=/run/motd.dynamic noupdate
/etc/pam.d/login:session    optional   pam_motd.so
/etc/pam.d/sshd:session    optional     pam_motd.so  motd=/run/motd.dynamic noupdate
/etc/pam.d/sshd:session    optional     pam_motd.so # [1]

只需注释掉pam_motd这些文件中的行即可禁用它。

答案4

下面可能还有/etc/motd包含欢迎信息的文件,但该文件很容易被删除(内容)。

相关内容