我已经更改了/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
包含欢迎信息的文件,但该文件很容易被删除(内容)。