notes/Приветствие ssh Debian 9.md

6.4 KiB
Raw Blame History

Изменяем приветствие консоли сервера

Изначально видим

Linux DNAS 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u2 (2019-05-13) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Jun 10 14:15:12 2019 from 193.164.201.34
  1. За отказ от ответственности
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

отвечает файл /etc/motd для его быстрой очистки используем

sudo cp /dev/null /etc/motd
  1. Информация о последнем подключении
Last login: Mon Jun 10 14:15:12 2019 from 193.164.201.34

Чтобы отключить сообщение о последнем входе (что я не рекомендую делать), надо отредактировать вот этот файл: /etc/ssh/sshd_config Найдите вот эту опцию и замените yes на no: PrintLastLog no Теперь, когда вы будете входить, вы этого сообщения не увидите. Из соображений безопасности всё же не рекомендую так делать.

  1. Вывод данных о системе
Linux DNAS 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u2 (2019-05-13) x86_64

Содержится в файле /etc/update-motd.d/10-uname Чтобы отключить его вывод, достаточно снять с файла права на запуск

  1. Создадим свой скрипт вывода Можно создавать свои скрипты, которые будут отображаться при успешной авторизации. Эти скрипты хранятся по адресу /etc/profile.d/ Создадим свой скрипт:
sudo nano /etc/profile.d/ssh-info.sh

Вставим следующий текст:

#!/bin/sh
#
# Text Color Variables http://misc.flogisoft.com/bash/tip_colors_and_formatting
tcLtG="\033[00;37m"    # LIGHT GRAY
tcDkG="\033[01;30m"    # DARK GRAY
tcLtR="\033[01;31m"    # LIGHT RED
tcLtGRN="\033[01;32m"  # LIGHT GREEN
tcLtBL="\033[01;34m"   # LIGHT BLUE
tcLtP="\033[01;35m"    # LIGHT PURPLE
tcLtC="\033[01;36m"    # LIGHT CYAN
tcW="\033[01;37m"      # WHITE
tcRESET="\033[0m"
tcORANGE="\033[38;5;209m"
#
# Время суток
HOUR=$(date +"%H")
if [ $HOUR -lt 12  -a $HOUR -ge 4 ]; then TIME="Доброе утро!"
elif [ $HOUR -lt 17 -a $HOUR -ge 12 ]; then TIME="Добрый день!"
elif [ $HOUR -lt 23 -a $HOUR -ge 17 ]; then TIME="Добрый вечер!"
else TIME="Доброй ночи!"
fi
#
# Время с момента перезагрузки
uptime=`cat /proc/uptime | cut -f1 -d.`
upDays=$((uptime/60/60/24))
upHours=$((uptime/60/60%24))
upMins=$((uptime/60%60))
#
# System + Memory
SYS_LOADS=`cat /proc/loadavg | awk '{print $1}'`
MEMORY_USED=`free -m | grep Mem | awk '{print $3}'`
MEMORY_TOTAL=`free -m | grep Mem | awk '{print $2}'`
SWAP_USED=`free -m | grep Swap | awk '{print $3}'`
SWAP_TOTAL=`free -m | grep Swap | awk '{print $2}'`
NUM_PROCS=`ps aux | wc -l`
IPADDRESS=`hostname --all-ip-addresses`
SDA1SIZE=`df -h /dev/sda1 | grep /dev/sda1 | awk '{print $2}'`
SDA1OST=`df -h /dev/sda1 | grep /dev/sda1 | awk '{print $3}'`
SDA1MOUNT=`df -h /dev/sda1 | grep /dev/sda1 | awk '{print $6}'`
SDB1SIZE=`df -h /dev/sdb1 | grep /dev/sdb1 | awk '{print $2}'`
SDB1OST=`df -h /dev/sdb1 | grep /dev/sdb1 | awk '{print $3}'`
SDB1MOUNT=`df -h /dev/sdb1 | grep /dev/sdb1 | awk '{print $6}'`
SDC1SIZE=`df -h /dev/sdc1 | grep /dev/sdc1 | awk '{print $2}'`
SDC1OST=`df -h /dev/sdc1 | grep /dev/sdc1 | awk '{print $3}'`
SDC1MOUNT=`df -h /dev/sdc1 | grep /dev/sdc1 | awk '{print $6}'`
SDD1SIZE=`df -h /dev/sdd1 | grep /dev/sdd1 | awk '{print $2}'`
SDD1OST=`df -h /dev/sdd1 | grep /dev/sdd1 | awk '{print $3}'`
SDD1MOUNT=`df -h /dev/sdd1 | grep /dev/sdd1 | awk '{print $6}'`
#
echo -e $tcDkG "==============================================================="
echo -e $tcLtG " $TIME                                        $tcORANGE $USER"
echo -e $tcDkG "==============================================================="
echo -e $tcLtG " * Хост             :$tcW `hostname -f`"
echo -e $tcLtG " * IP Адрес         :$tcW $IPADDRESS"
echo -e $tcLtG " * Версия           :$tcW $(lsb_release -s -d)"
echo -e $tcLtG " * Ядро             : `uname -a | awk '{print $1" "$3" "$12}'`"
echo -e $tcLtG " * Пользователи     : Авторизованных пользователей - `users | wc -w`"
echo -e $tcLtG " * Время на сервере : `date +"%A, %d %B %Y г., %T"`"
echo -e $tcLtG " * Загрузка системы : $SYS_LOADS / $NUM_PROCS запущенных процессов"
echo -e $tcLtG " * Память, RAM      : Исп.: $MEMORY_USED Мб / Всего: $MEMORY_TOTAL Мб"
echo -e $tcLtG " * SWAP             : Исп.: $SWAP_USED Мб / Всего: $SWAP_TOTAL Мб"
echo -e $tcLtG " * После включения  : $upDays дней $upHours часов $upMins минут"
echo -e $tcDkG "==============================================================="
echo -e $tcLtG " * Диски            : sda1 $SDA1OST / $SDA1SIZE	| sdb1 $SDB1OST / $SDB1SIZE"
echo -e $tcLtG "   Исп. / Всего     : sdc1 $SDC1OST / $SDC1SIZE	| sdd1 $SDD1OST / $SDD1SIZE"
echo -e $tcDkG "==============================================================="
echo -e $tcRESET ""
#

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

sudo chmod +x /etc/profile.d/ssh-info.sh

После перезагрузки видим, что-то типа: Пример приветствия

  1. Информация о доступных обновлениях В Ubuntu за это отвечает пакет update-notifier, но в Debian он считается устаревшим и исключен из репозиториев Пока решение не найдено