Linux. Меняем ssh-приветствие

При каждом подключении к серверу мы видим следующее 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/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *