2016-02-03 11:11:21
Каждый раз при SSH подключении к серверу на экране отображается стандартное сообщение, которое содержит информацию о последнем входе в систему и информацию про отказ от ответственности. Вместо того что бы при каждой авторизации созерцать на бесполезную с точки зрения администрирования информацию, предлагаю ее заменить на что-нибудь более информативное. Не знаю как вы, а я первым делом при входе на сервер выполняю команду top
. Связи с чем, мне было бы удобно видеть интересующую меня информацию сразу при входе на сервер.
Команда для быстрой очистки файла, содержащего текст про отказ от ответственности:
cat /dev/null > /etc/motd
Для отображения интересующей меня информации мы будем использовать скрипт, который будет запускаться при каждом входе в систему. В примере ниже скрипт выводит информацию о нагрузке на процессор, использование оперативной памяти и файловой системы, аптайм сервера. В зависимости от ваших потребностей, вы можете добавить или удалить необходимую для вас информацию.
SystemMountPoint="/"; |
LinesPrefix=" "; |
b=$(tput bold); n=$(tput sgr0); |
SystemLoad=$(cat /proc/loadavg | cut -d" " -f1); |
ProcessesCount=$(cat /proc/loadavg | cut -d"/" -f2 | cut -d" " -f1); |
MountPointInfo=$(/bin/df -Th $SystemMountPoint 2>/dev/null | tail -n 1); |
MountPointFreeSpace=( \ |
$(echo $MountPointInfo | awk '{ print $6 }') \ |
$(echo $MountPointInfo | awk '{ print $3 }') \ |
); |
UsersOnlineCount=$(users | wc -w); |
UsedRAMsize=$(free | awk 'FNR == 3 {printf("%.0f", $3/($3+$4)*100);}'); |
SystemUptime=$(uptime | sed 's/.*up \([^,]*\), .*/\1/'); |
if [ ! -z "${LinesPrefix}" ] && [ ! -z "${SystemLoad}" ]; then |
echo -e "${LinesPrefix}${b}System load:${n}\t${SystemLoad}\t\t\t${LinesPrefix}${b}Processes:${n}\t\t${ProcessesCount}"; |
fi; |
if [ ! -z "${MountPointFreeSpace[0]}" ] && [ ! -z "${MountPointFreeSpace[1]}" ]; then |
echo -ne "${LinesPrefix}${b}Usage of $SystemMountPoint:${n}\t${MountPointFreeSpace[0]} of ${MountPointFreeSpace[1]}\t\t"; |
fi; |
echo -e "${LinesPrefix}${b}Users logged in:${n}\t${UsersOnlineCount}"; |
if [ ! -z "${UsedRAMsize}" ]; then |
echo -ne "${LinesPrefix}${b}Memory usage:${n}\t${UsedRAMsize}%\t\t\t"; |
fi; |
echo -e "${LinesPrefix}${b}System uptime:${n}\t${SystemUptime}"; |
Для того что бы скрипт автоматически запускался при успешной авторизации пользователя, его необходимо добавить в директорию /etc/profile.d
и дать право на запуск:
nano /etc/profile.d/sshinfo.sh chmod +x /etc/profile.d/sshinfo.sh
По материалам сайта: https://codebeer.ru/izmenit-ssh-privetstvie-v-debian/