Clearing the terminal before displaying MOTD

2

1

When I connect to my SSH server, it prompts me for the user name and password. After I have authenticated, it will display my MOTD, then show user prompt, like this:

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

I want to edit some file so that the screen is cleared before the MOTD prints (so basically calling the clear command would do). I heard that the MOTD is displayed by using cat /etc/motd in a startup file, however after searching around I can't find where it is called from.

Does anyone know how I can find it?

user1417933

Posted 2012-06-03T20:20:00.453

Reputation: 125

Answers

3

The motd is indeed taken from the /etc/motd file, but it is not displayed using cat or any other external command: the SSH server does it internally, using the pam_motd PAM module.

If you want the screen to be cleared when the motd is displayed (wouldn't it be annoying, though?), you add use the ANSI sequences ESC [ H and ESC [ J to the beginning of /etc/motd contents.

  • To insert the ESC character in Vim, press Ctrl+V, Esc; in Nano, press Alt+V, Esc.

  • Insert [ and H using [ and Shift+H.

  • Repeat to insert ESC [ J.

user1686

Posted 2012-06-03T20:20:00.453

Reputation: 283 655

Wasn't totally clear to me at first, but the line should look like this in the editor: "^[[H^[[J". +1 for a good answer. – CHK – 2015-07-10T16:04:34.017