Назад | Перейти на главную страницу

Когда я вхожу на свой сервер с помощью SSH, отображаются два MOTD

Я хотел изменить MOTD, который отображается, когда вы входите в систему на компьютере через TTY, который, кажется, работает, но почему-то он не просто показывает MOTD в /etc/motd и /etc/update-motd.d/, но и другое сообщение.

Это отображается, когда я вхожу на свой сервер:

sam@laptop:~$ ssh <user>@<server>
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 2.6.32-042stab068.8 i686)

 * Documentation:  https://help.ubuntu.com/
No mail.
Last login: Thu Feb 21 19:20:55 2013 from <ip>
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 2.6.32-042stab068.8 i686)

 * Documentation:  https://help.ubuntu.com/

<user>@<server>:~$

Мой update-motd.d содержит два файла, 00-header и 10-help-text.

00-header содержит следующее:

[ -r /etc/lsb-release ] && . /etc/lsb-release

if [ -z "$DISTRIB_DESCRIPTION" ] && [ -x /usr/bin/lsb_release ]; then
        # Fall back to using the very slow lsb_release utility
        DISTRIB_DESCRIPTION=$(lsb_release -s -d)
fi

printf "Welcome to %s (%s %s %s)\n" "$DISTRIB_DESCRIPTION" "$(uname -o)" "$(uname -r)"     "$(uname -m)"

И 10-help-text содержит это:

[ -r /etc/lsb-release ] && . /etc/lsb-release

if [ -z "$DISTRIB_RELEASE" ] && [ -x /usr/bin/lsb_release ]; then
    # Fall back to using the very slow lsb_release utility
    DISTRIB_RELEASE=$(lsb_release -sr)
fi

URL="https://help.ubuntu.com/"
if uname -r | grep -qs "\-server"; then
    URL="https://help.ubuntu.com/$DISTRIB_RELEASE/serverguide/C"
fi

printf "\n * Documentation:  %s\n" "$URL"

Это компенсировало бы часть MOTD до No mail.. Но откуда все остальное?

MOTD можно распечатать sshd, или PAM. Возможно, это делают оба.

Проверьте свои /etc/ssh/sshd_config для следующих:

PrintMotd yes

Если этой строки нет, возможно, по умолчанию yes (хотя Debian / Ubuntu меняют значение по умолчанию на no).

Проверьте свою конфигурацию PAM в /etc/pam.d/ для следующих:

session    optional     pam_motd.so

Попробуйте отключить их по одному, чтобы увидеть, что изменится.

Если вы используете Ubuntu, вы можете попробовать:

sudo nano /etc/ssh/sshd_config

и проверьте, чтобы увидеть PrintMotd и UsePam оба установлены в значение true, так было со мной.

Заметка: Следуя вышеизложенному, вы можете сделать sudo service ssh restart и вы должны увидеть только один Motd при входе в систему.

После тестирования на Debian 8:

Именно эта опция в /etc/pam.d/login печатает еще один motd

session    optional   pam_exec.so type=open_session stdout /bin/uname -snrvm