Message of the Day (MOTD) - это сообщение, отображаемое пользователям при входе в систему, игру или онлайн-платформу, используемое для обмена важной информацией, например объявлениями, сведениями о техническом обслуживании системы или акциями сервера. Очень неудобно, когда заходишь на сервер по ssh, а тебя встречает обычное черное окошко, если серверов много, около 50, то это проблема, конечно можно поправить конфигурационный файл ssh , но мы у себя делаем более красиво =) Не спрашивайте, почему на некоторых серверах остался Ceentos 7 в 2025 году, отвечу - так исторически сложилось =)
Мы можем настроить красивый Message of the Day (MOTD) в CentOS 7, используя несколько методов.
Один из распространенных способов - использовать пакет update-motd
, но в CentOS 7 его нет по умолчанию.
Вместо этого мы можем использовать скрипты в /etc/update-motd.d/ (как в Ubuntu) или просто отредактировать /etc/motd.
Однако в CentOS 7 традиционно для изменения MOTD используется файл /etc/motd, который является статическим.
Но мы можем сделать динамический MOTD с помощью скриптов, которые будут запускаться при входе через SSH.
Так и сделаем, есть, насколько мне известно, еще пару способов, но остановимся на скриптах.
Установим необходимые зависимости:
sudo yum install -y epel-release
sudo yum install -y figlet lolcat
figlet создает ASCII-арт из текста. lolcat добавляет цветовой градиент, короче для подсветки нашего текста Кстати, lolcat можно установить так:
yum install -y ruby rubygems
gem install lolcat
echo "Hello World" | lolcat
Создадим папку, потому что в Centos 7 её нет, в отличии от ubuntu
sudo mkdir -p /etc/update-motd.d/
Создадим там файл 10-sysinfo.sh с содержимым:
#!/bin/bash
# Цвета
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
RESET='\033[0m'
# Информация о системе
echo -e "${GREEN}Добро пожаловать на сервер: ${BLUE}$(hostname)${RESET}"
echo -e "${YELLOW}Дата и время: ${RESET}$(date)"
echo -e "${YELLOW}Время работы: ${RESET}$(uptime -p)"
echo -e "${YELLOW}Загрузка CPU: ${RESET}$(uptime | awk -F'load average:' '{ print $2 }')"
echo -e "${YELLOW}Память: ${RESET}$(free -h | awk '/Mem:/ { print $3 "/" $2 }')"
echo -e "${YELLOW}Диск: ${RESET}$(df -h / | awk 'NR==2 { print $3 "/" $2 " (" $5 ")" }')"
echo -e "${YELLOW}IP-адрес: ${RESET}$(hostname -I | awk '{print $1}')"
# Количество неудачных входов из логов
failed_logins=$(grep "Failed password" /var/log/secure | grep -E "$(date +'%b %d')" | wc -l)
echo -e "${YELLOW}Неудачных попыток входа сегодня: ${RED}$failed_logins${RESET}"
# Последние неудачные попытки (первые 3)
echo -e "${YELLOW}Последние неудачные попытки:${RESET}"
grep "Failed password" /var/log/secure | tail -3 | while read line; do
echo -e "${RED} $line${RESET}"
done
Теперь делаем его исполняемым
sudo chmod +x /etc/update-motd.d/10-sysinfo
Теперь создадим скрипт для ASCII-арта 20-logo.sh и тоже делаем его исполняемым
#!/bin/bash
echo -e "${BLUE}"
figlet -f slant "CentOS 7" | lolcat
echo -e "${RESET}"
Остался последний скрипт motd.sh, который будет запускать все скрипты из /etc/update-motd.d/ и делаем его исполняемым
#!/bin/bash
for script in /etc/update-motd.d/*; do
[ -x "$script" ] && $script
done
Отредактируем конфигурационный файл
sudo nano /etc/ssh/sshd_config
и установим параметр:
PrintMotd no
Перезагружаем shh
sudo systemctl reload sshd
Получить должно вот так:
Комментарии (0)
Оставить комментарий
Пока нет комментариев. Будьте первым!