При каждом подключении к серверу мы видим следующее ssh-приветствие:
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
Сообщение не несет полезной информации. Не будем тратить процессорное время на бесполезности. Меняем ssh-приветствие, с отображением нагрузкой на процессор и памятью
Задача
Заменить стандартное сообщение на более информативное. Разбирать будем частный случай на примере Debian 7.9.
Решение
Текст стандартного сообщения находится в файле /etc/motd, для его очистки воспользуемся следующей командой:
cat /dev/null > /etc/motd
Далее напишем свой скрипт с выводом полезной для нас информации, например воспользовавшись текстовым редактором nano.
Далее приведен пример скрипта, который не претендует на истину. Обращаю ваше внимание, что данный скрипт подойдет не всем, при необходимости подогнать напильником по месту!
#!/bin/bash # Font furniture b=$(tput bold); n=$(tput sgr0); # Functions func_PrintResourceUsage() { if [ -z "$3" ]; then echo -e "\t${n}$1\t\t${b}$2${n}"; else echo -e "\t${n}$1\t\t${b}$2${n}\tof \t${b}$3"; fi; } echo -e; # CPU info loadavg=$(cat /proc/loadavg); echo -e "${b}CPU usage:"; func_PrintResourceUsage " 1 min" $(echo $loadavg | awk '{ print $1 }') ""; func_PrintResourceUsage " 5 min" $(echo $loadavg | awk '{ print $2 }') ""; func_PrintResourceUsage "10 min" $(echo $loadavg | awk '{ print $3 }') ""; echo -e; # RAM/SWAP info RAMTotal=$(free -h | awk 'FNR == 2 { print $2 }'); RAMUsed=$(free -h | awk 'FNR == 2 { print $3 }'); SWAPTotal=$(free -h | awk 'FNR == 4 { print $2 }'); SWAPUsed=$(free -h | awk 'FNR == 4 { print $3 }'); echo -e "${b}Memory usage:"; func_PrintResourceUsage "RAM" ${RAMUsed} ${RAMTotal}; func_PrintResourceUsage "SWAP" ${SWAPUsed} ${SWAPTotal}; echo -e; # Disc space info MountArr[0]="/"; MountArr[1]="/backup"; echo -e "${b}Disc usage:"; for Mount in "${MountArr[@]}"; do MountPointInfo=$(/bin/df -Th $Mount 2>/dev/null | tail -n 1); MountPointFreeSpace=( \ $(echo $MountPointInfo | awk '{ print $4 }') \ $(echo $MountPointInfo | awk '{ print $3 }') \ ); func_PrintResourceUsage $Mount ${MountPointFreeSpace[0]} ${MountPointFreeSpace[1]}; done echo -e;
Теперь нужно заставить запускаться наш скрипт при каждом удачном логине, для этого сохраняем его в каталог /etc/profile.d/, у меня получилось так /etc/profile.d/ssh_info.sh.
Остается сделать файл исполняемым и радоваться результату
chmod +x /etc/profile.d/ssh_info.sh
Теперь нас приветствует примерно такая информация
CPU usage: 1 min 7.07 5 min 8.26 10 min 4.05 Memory usage: RAM 2,4G of 7,9G SWAP 0B of 8,0G Disc usage: / 9,1G of 112G /backup 191G of 294G
Источник и вдохновитель https://codebeer.ru/izmenit-ssh-privetstvie-v-debian/