在显示 MOTD 之前清除终端

在显示 MOTD 之前清除终端

当我连接到 SSH 服务器时,它会提示我输入用户名和密码。在我通过身份验证后,它会显示我的 MOTD,然后显示用户提示,如下所示:

Using username "root".
Authenticating with public key "everssh"
this is my motd
root@debian:~#

我想编辑一些文件,以便在 MOTD 打印之前清除屏幕(因此基本上调用命令clear就可以了)。我听说 MOTD 是通过cat /etc/motd在启动文件中显示的,但是搜索后我找不到它从哪里调用的。

有人知道我怎样才能找到它吗?

答案1

mod 确实是从/etc/motd文件中获取的,但它不是使用或任何其他外部命令显示cat:SSH 服务器使用pam_motdPAM 模块在内部执行此操作。

如果您希望在显示 motd 时清除屏幕(但这不是很烦人吗?) ,您可以在内容开头添加使用 ANSI 序列ESC [ H和。ESC [ J/etc/motd

  • ESC在 Vim 中插入字符,请按Ctrl+V, Esc;在 Nano 中,请按Alt+V, Esc

  • 插入[H使用[Shift+H

  • 重复插入ESC [ J

相关内容