Я всегда знал, что приветствие можно настроить, но особо не заморачивался. Максимум, что настраивал при подключении, запуск команды
w, чтобы увидеть главным образом активные сессии и понимать, что ты не один на сервере. Иногда это работало как хорошая пугалка, если у тебя осталась висеть твоя же сессия, только с какого-то непривычного IP.А тут увидел приветствие, которое мне понравилось. Я полный вывод не запоминал, только оставил себе пометку подумать, что было бы полезно увидеть мне. В итоге сделал себе и сохранил для использования такое приветствие:
-----------------------------------------IP : 95.183.13.208Hostname : serveradmin.ruOS : Debian GNU/Linux 12 (bookworm)USER : rootLoad Average : 0.08 0.06 0.04Uptime : up 1 week, 6 hours, 32 minutes-----------------------------------------CPU : 2 CPURAM : 3915 MB, 1055 MB (26%) freeHDD (/) : 60G, 36G (60%) free-----------------------------------------Пояснять тут особо нечего. Отмечу только, что в качестве IP взял настройку самого первого не
lo интерфейса. У меня это практически всегда основной IP адрес, который я хочу видеть. А пользователя root подкрашиваю в красный цвет.Настроить это очень просто. Любой ИИ вам соберёт по запросу подходящий bash скрипт, который нужно будет положить
/etc/profile.d. Потом можно его подправить по своему вкусу. Я в итоге оставил такой:#!/bin/bash
# Цвета
RED='\033[0;31m'
NC='\033[0m' # No Color
# IP первого сетевого интерфейса
LOCAL_IP=$(ip -4 addr show | grep -oP '(?<=inet\s)\d+\.\d+\.\d+\.\d+' | grep -v '^127\.' | head -n 1)
# Имя сервера
HOSTNAME=$(hostname)
# ОС
OS=$(grep PRETTY_NAME /etc/os-release | cut -d= -f2 | tr -d '"')
# Пользователь
USER_NAME=$(whoami)
# Root красным
if [ "$USER_NAME" = "root" ]; then
USER_NAME="${RED}${USER_NAME}${NC}"
fi
# Load average
LOADAVG=$(awk '{print $1" "$2" "$3}' /proc/loadavg)
# Uptime
UPTIME=$(uptime -p)
# Количество CPU
CPU_COUNT=$(nproc)
# RAM: всего и свободно (в мегабайтах)
RAM_TOTAL=$(free -m | awk '/Mem:/ {print $2}')
RAM_FREE=$(free -m | awk '/Mem:/ {print $7}')
RAM_FREE_PCT=$(( RAM_FREE * 100 / RAM_TOTAL ))
# HDD: для корневого раздела /
DISK_TOTAL_HUMAN=$(df -h / | awk 'NR==2 {print $2}')
DISK_FREE_HUMAN=$(df -h / | awk 'NR==2 {print $4}')
# Используем df без форматирования для процентов
DISK_TOTAL=$(df -k / | awk 'NR==2 {print $2}')
DISK_FREE=$(df -k / | awk 'NR==2 {print $4}')
DISK_FREE_PCT=$(( DISK_FREE * 100 / DISK_TOTAL ))
echo ""
echo "-----------------------------------------"
echo "IP : ${LOCAL_IP:-N/A}"
echo "Hostname : $HOSTNAME"
echo "OS : $OS"
echo -e "USER : $USER_NAME"
echo "Load Average : $LOADAVG"
echo "Uptime : $UPTIME"
echo "-----------------------------------------"
echo "CPU : ${CPU_COUNT} CPU"
echo "RAM : ${RAM_TOTAL} MB, ${RAM_FREE} MB (${RAM_FREE_PCT}%) free"
echo "HDD (/) : ${DISK_TOTAL_HUMAN}, ${DISK_FREE_HUMAN} (${DISK_FREE_PCT}%) free"
echo "-----------------------------------------"
echo ""
Заодно удалил строку:
The programs included with the Debian GNU/Linux system are free software;the exact distribution terms for each program are described in theindividual files in /usr/share/doc/*/copyright.Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extentpermitted by applicable law.Она находится в файле
/etc/motd и подключается в /etc/pam.d/sshd в строке:session optional pam_motd.so noupdateЗакомментировал её. Получил приветствие, как на картинке снизу. Мне понравилась. На свои сервера буду добавлять.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX
#linux
