Ubuntu, кастомный MOTD

16.01.2026

При подключении по SSH к свежему Ubuntu-серверу по умолчанию вываливается много лишнего текста: реклама MicroK8s, напоминания про Ubuntu Pro, статус обновлений, system load, ссылки на документацию и прочий шум. Подобное немного отвлекает.

MOTD генерируется из набора скриптов в /etc/update-motd.d/.

При этом строка вида:

Last login: Fri Jan 16 13:47:16 2026 from 185.200.107.195

Это не MOTD — ее печатает сам SSH.

В Ubuntu MOTD по умолчанию динамический и собирается из десятка исполняемых файлов. Типичный список /etc/update-motd.d/ выглядит примерно так:

  • 00-header — Welcome to Ubuntu
  • 10-help-text — Documentation / Management / Support
  • 50-motd-news — реклама и новости
  • 90-updates-available — напоминания об обновлениях
  • 91-contract-ua-esm-status — Ubuntu Pro / ESM
  • и еще несколько служебных скриптов

В этом примере после изменений останется только:

  • свое приветствие
  • минимальную полезную информацию (например, hostname и uptime)
  • строку Last login

Создаем собственный файл:

sudo nano /etc/update-motd.d/01-mymotd

Пример содержимого:

#!/bin/sh

echo ""
echo "Mydomain.com"
echo "Node: $(hostname)"
echo "Uptime: $(uptime -p)"
echo ""

Делаем исполняемым:

sudo chmod +x /etc/update-motd.d/01-mymotd

Далее отключаем все стандартные скрипты Ubuntu. Самый простой и чистый способ — снять executable-флаг со всего, кроме своего файла:

sudo chmod -x /etc/update-motd.d/*
sudo chmod +x /etc/update-motd.d/01-mymotd

Проверка:

ls -l /etc/update-motd.d/

Исполняемым должен остаться только созданный ранее скрипт.

Теперь переподключаемся по SSH. Итоговый вывод должен выглядеть примерно так:

Mydomain.com
Node: mydomain.com
Uptime: up 1 day, 1 hour, 56 minutes

Last login: Fri Jan 16 13:47:16 2026 from 185.200.107.195
admin@mydomain.com:~$