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

Ter*_*don 53 server ssh login

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

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

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

我必须编辑哪个文件?

hee*_*ayl 69

欢迎消息由驻留在/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/*
Run Code Online (Sandbox Code Playgroud)

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

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

  • ssh有一个Banner选项。您可以将文本放入文件中并在Banner选项中进行设置,以便在通过ssh. 请注意,这仅适用于ssh.

    Banner /etc/foobar
    
    Run Code Online (Sandbox Code Playgroud)

    来自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.
    
    Run Code Online (Sandbox Code Playgroud)

  • 我最喜欢的答案都以“From man xyz”开头;) (11认同)
  • ...为什么他们在 motd 中放了这么多废话并浪费人们的时间禁用它:s chmod -x 的好解决方案! (3认同)
  • 非常干净的解决方案,因为`chmoding` 文件意味着我不必编辑它们。好的! (2认同)

小智 34

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

.hushlogin
Run Code Online (Sandbox Code Playgroud)

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

提供更多信息的来源,包括这种方法可能缺点

  • 优雅,简单,不会干扰其他用户,没有“sudo”。谢谢。 (5认同)
  • 这不是“另一种方式”,而是最好的方式! (2认同)
  • 这应该是最高票数的答案 (2认同)

bom*_*ben 6

下面还可能有/etc/motd包含欢迎消息的文件,可以轻松删除该文件(内容)。


mur*_*uru 5

你也可以pam_motd完全核对:

sed -i '/^[^#]*\<pam_motd.so\>/s/^/#/' /etc/pam.d/sshd
Run Code Online (Sandbox Code Playgroud)

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]
Run Code Online (Sandbox Code Playgroud)

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