我已经改变了/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)小智 34
另一种不需要管理权限的方法是放置一个名为
.hushlogin
Run Code Online (Sandbox Code Playgroud)
进入您的 $HOME 目录(例如使用touch ~/.hushlogin)。
你也可以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这些文件中的行将禁用它。