обновлена инструкция для SSH приветствия в Debian 12
parent
50dab27a84
commit
e9ba4d4242
Binary file not shown.
After Width: | Height: | Size: 126 KiB |
|
@ -0,0 +1,150 @@
|
||||||
|
# Приветствие консоли сервера
|
||||||
|
|
||||||
|
Изначально видим
|
||||||
|
|
||||||
|
```shell
|
||||||
|
Linux test 6.1.0-23-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.99-1 (2024-07-15) 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: Fri Jun 27 12:51:16 2025 from 192.168.13.110
|
||||||
|
```
|
||||||
|
|
||||||
|
## За отказ от ответственности
|
||||||
|
|
||||||
|
```shell
|
||||||
|
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`
|
||||||
|
для его быстрой очистки используем
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo :> /etc/motd
|
||||||
|
```
|
||||||
|
|
||||||
|
## Информация о последнем подключении
|
||||||
|
|
||||||
|
```shell
|
||||||
|
Last login: Fri Jun 27 12:51:16 2025 from 192.168.13.110
|
||||||
|
```
|
||||||
|
|
||||||
|
Чтобы отключить сообщение о последнем входе (что не рекомендуется), надо отредактировать `/etc/ssh/sshd_config`
|
||||||
|
заменить `yes` на `no`: `PrintLastLog no`
|
||||||
|
|
||||||
|
## Вывод данных о системе
|
||||||
|
|
||||||
|
```shell
|
||||||
|
Linux bastion 6.12.25+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.25-1+rpt1 (2025-04-30) aarch64
|
||||||
|
```
|
||||||
|
|
||||||
|
Содержится в файле `/etc/update-motd.d/10-uname`
|
||||||
|
Чтобы отключить его вывод, достаточно снять с файла права на запуск
|
||||||
|
|
||||||
|
## Свой скрипт вывода
|
||||||
|
|
||||||
|
_Можно создавать свои скрипты, которые будут отображаться при успешной авторизации. Эти скрипты хранятся по адресу `/etc/update-motd.d`_
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo vim /etc/update-motd.d/11-custom
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Text Color Variables http://misc.flogisoft.com/bash/tip_colors_and_formatting
|
||||||
|
COLOR_LIGHT_GRAY="\033[00;37m"
|
||||||
|
COLOR_DARK_GRAY="\033[01;30m"
|
||||||
|
COLOR_LIGHT_RED="\033[01;31m"
|
||||||
|
COLOR_LIGHT_GREEN="\033[01;32m"
|
||||||
|
COLOR_LIGHT_BLUE="\033[01;34m"
|
||||||
|
COLOR_LIGHT_PURPLE="\033[01;35m"
|
||||||
|
COLOR_LIGHT_CYAN="\033[01;36m"
|
||||||
|
COLOR_WHITE="\033[01;37m"
|
||||||
|
COLOR_RESET="\033[0m"
|
||||||
|
COLOR_ORANGE="\033[38;5;209m"
|
||||||
|
|
||||||
|
# Функция для определения времени суток
|
||||||
|
get_time_greeting() {
|
||||||
|
local hour=$(date +"%H")
|
||||||
|
if [ $hour -lt 12 -a $hour -ge 4 ]; then
|
||||||
|
echo "Доброе утро!"
|
||||||
|
elif [ $hour -lt 17 -a $hour -ge 12 ]; then
|
||||||
|
echo "Добрый день!"
|
||||||
|
elif [ $hour -lt 23 -a $hour -ge 17 ]; then
|
||||||
|
echo "Добрый вечер!"
|
||||||
|
else
|
||||||
|
echo "Доброй ночи!"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Получить время работы системы
|
||||||
|
get_uptime() {
|
||||||
|
local uptime_seconds=$(cat /proc/uptime | cut -f1 -d.)
|
||||||
|
local days=$((uptime_seconds/60/60/24))
|
||||||
|
local hours=$((uptime_seconds/60/60%24))
|
||||||
|
local minutes=$((uptime_seconds/60%60))
|
||||||
|
echo "$days дней $hours часов $minutes минут"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Получить информацию о системе
|
||||||
|
get_system_info() {
|
||||||
|
# Загрузка системы
|
||||||
|
local load_average=$(cat /proc/loadavg | awk '{print $1}')
|
||||||
|
local process_count=$(ps aux | wc -l)
|
||||||
|
|
||||||
|
# Сетевые данные
|
||||||
|
local ip_address=$(hostname --all-ip-addresses)
|
||||||
|
|
||||||
|
# Вывод информации
|
||||||
|
printf "%b\n" "$COLOR_DARK_GRAY================================================================================$COLOR_RESET"
|
||||||
|
printf "%b %-80s %b%s%b\n" "$COLOR_LIGHT_GRAY" "$(get_time_greeting)" "$COLOR_ORANGE" "$(logname)" "$COLOR_RESET"
|
||||||
|
printf "%b\n" "$COLOR_DARK_GRAY================================================================================$COLOR_RESET"
|
||||||
|
|
||||||
|
printf "%b * Хост :%b %-50s%b\n" "$COLOR_LIGHT_GRAY" "$COLOR_WHITE" "$(hostname -f)" "$COLOR_RESET"
|
||||||
|
printf "%b * IP Адрес :%b %-50s%b\n" "$COLOR_LIGHT_GRAY" "$COLOR_WHITE" "$ip_address" "$COLOR_RESET"
|
||||||
|
printf "%b * Версия :%b %-50s%b\n" "$COLOR_LIGHT_GRAY" "$COLOR_WHITE" "$(lsb_release -s -d)" "$COLOR_RESET"
|
||||||
|
printf "%b * Ядро : %-50s%b\n" "$COLOR_LIGHT_GRAY" "$(uname -a | awk '{print $1" "$3" "$12}')" "$COLOR_RESET"
|
||||||
|
printf "%b * Пользователи : Авторизованных пользователей - %-30s%b\n" "$COLOR_LIGHT_GRAY" "$(users | wc -w)" "$COLOR_RESET"
|
||||||
|
printf "%b * Время на сервере : %-50s%b\n" "$COLOR_LIGHT_GRAY" "$(date +"%A, %d %B %Y г., %T")" "$COLOR_RESET"
|
||||||
|
printf "%b * Загрузка системы : %-50s%b\n" "$COLOR_LIGHT_GRAY" "$load_average / $process_count запущенных процессов" "$COLOR_RESET"
|
||||||
|
printf "%b * Память, RAM : Исп.: %-4s Мб / Всего: %-4s Мб%b\n" "$COLOR_LIGHT_GRAY" "$memory_used" "$memory_total" "$COLOR_RESET"
|
||||||
|
printf "%b * SWAP : Исп.: %-4s Мб / Всего: %-4s Мб%b\n" "$COLOR_LIGHT_GRAY" "$swap_used" "$swap_total" "$COLOR_RESET"
|
||||||
|
printf "%b * После включения : %-50s%b\n" "$COLOR_LIGHT_GRAY" "$(get_uptime)" "$COLOR_RESET"
|
||||||
|
printf "%b\n" "$COLOR_DARK_GRAY================================================================================$COLOR_RESET"
|
||||||
|
printf "%b * Диски:%b\n" "$COLOR_LIGHT_GRAY" "$COLOR_RESET"
|
||||||
|
df -h | awk 'NR==1 || ($1 ~ /^\/dev\// && $6 !~ /^\/run|\/dev|\/sys|\/proc|\/snap/)' | sed "s/^/ /"
|
||||||
|
printf "%b\n" "$COLOR_DARK_GRAY================================================================================$COLOR_RESET"
|
||||||
|
printf "%b * ОЗУ:%b\n" "$COLOR_LIGHT_GRAY" "$COLOR_RESET"
|
||||||
|
free -h
|
||||||
|
printf "%b\n" "$COLOR_DARK_GRAY================================================================================$COLOR_RESET"
|
||||||
|
printf "%b\n" "$COLOR_RESET"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Основной вызов
|
||||||
|
get_system_info
|
||||||
|
```
|
||||||
|
|
||||||
|
Делаем файл исполняемым
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo chmod +x /etc/update-motd.d/11-custom
|
||||||
|
```
|
||||||
|
|
||||||
|
Для проверки работы
|
||||||
|
|
||||||
|
```shell
|
||||||
|
run-parts /etc/update-motd.d/
|
||||||
|
```
|
||||||
|
|
||||||
|
После перезагрузки видим, что-то типа:
|
||||||
|

|
Loading…
Reference in New Issue