麒麟服务器【设置SSH登录的提示语banner】

 

可以修改以下三个文件:

文件1:/etc/issue.net ,用于设置系统SSH登录前的提示信息。

文件2:/etc/motd ,用于设置系统SSH登录后的提示信息,可以设置动态和静态的文字图案。

文件3:/usr/local/bin/00-custom-header ,用于设置有用的监控信息。

 

1、设置登录系统认证前的提示

在终端执行以下命令,将自定义内容直接写入到/etc/issue.net文件即可。

sudo tee /etc/issue.net <<EOF

************** [ 安全登陆 (Security Login) ] ******************

系统重要,如非系统管理员授权,请勿擅自登录。

***************************************************************

EOF

2、设置本地控制台与SSH登录后提示自定义提示信息

可以设置一些想要的文字图案。

执行以下命令,将自定义内容直接写入到/etc/motd文件:

tee  /etc/motd <<EOF

 

@@@.        .@@@8             @@@0@@0@@@@                    @@@@@@@0@

@@@.     ;@@@G           @@@0                     0@@0             1@@0

@@@@@@t                   @@@                           @@@               0@@@@@@0

@@@0@@@1                @@0                              @@0                         L@0@@@0

@@@.    @@@@f            @@@@               @@0@                                           @@0

@@@.        @@@@G         G@@@@@@@@@f                     @@@@@@@@0

 

EOF

可以通过在线网站(https://www.qtool.net/imgascii),将想要显示的图片转为ascii码

3、用户登录自定义登录提示信息

步骤1:在终端执行以下命令,将自定义内容(内容可以自定义修改)写入到/usr/local/bin/00-custom-header 文件里,该文件默认没有,使用命令touch /usr/local/bin/00-custom-header 创建该文件。

tee /usr/local/bin/00-custom-header <<EOF

#!/bin/bash

# Get last login time

LAST_LOGIN=$(last -n 2 –time-format iso | sed -n ‘2p;’)

LAST_LOGIN_T=$(echo ${LAST_LOGIN} | awk ‘{print $2}’)

LAST_LOGIN_IP=$(echo ${LAST_LOGIN} | awk ‘{print $3}’)

LAST_LOGIN_TIME=$(echo ${LAST_LOGIN} | awk ‘{print $4}’)

LAST_LOGOUT_TIME=$(echo ${LAST_LOGIN} | awk ‘{print $6}’)

# Get load averages

LOAD1=$(grep “” /proc/loadavg | awk ‘{print $1}’)

LOAD5=$(grep “” /proc/loadavg | awk ‘{print $2}’)

LOAD15=$(grep “” /proc/loadavg | awk ‘{print $3}’)

# Get free memory

MEMORY_USED=$(free -t -m | grep “Mem” | awk ‘{print $3}’)

MEMORY_ALL=$(free -t -m | grep “Mem” | awk ‘{print $2}’)

MEMORY_PERCENTAGE=$(free | awk ‘/Mem/{printf(“%.2f%”), $3/$2*100}’)

# Get system uptime

UPTIME=$(grep “” /proc/uptime | cut -f1 -d.)

UPTIME_DAYS=$((“${UPTIME}”/60/60/24))

UPTIME_HOURS=$((“${UPTIME}”/60/60%24))

UPTIME_MINS=$((“${UPTIME}”/60%60))

UPTIME_SECS=$((“${UPTIME}”%60))

# Get processes

PROCESS=$(ps -eo user=|sort|uniq -c | awk ‘{print $2 ” ” $1 }’)

PROCESS_ALL=$(echo “${PROCESS}” | awk ‘{print $2}’ | awk ‘{SUM += $1} END {print SUM}’)

PROCESS_ROOT=$(echo “${PROCESS}” | grep root | awk ‘{print $2}’)

PROCESS_USER=$(echo “${PROCESS}” | grep -v root | awk ‘{print $2}’ | awk ‘{SUM += $1} END {print SUM}’)

# Get processors

PROCESSOR_NAME=$(grep “model name” /proc/cpuinfo | cut -d ‘ ‘ -f3- | awk ‘{print $0}’ | head -1)

PROCESSOR_COUNT=$(grep -ioP ‘processor\t:’ /proc/cpuinfo | wc -l)

# Colors

G=”\033[01;32m”

R=”\033[01;31m”

D=”\033[39m\033[2m”

N=”\033[0m”

echo -e “\e[01;38;44;5m########################## 安全运维 (Security Operation) ############################\e[0m”

echo -e “${G}已成功登录系统${N} 请小心操作!”

echo -e ” 当前系统名是:${G}$(uname -n)${N}, 登录时间: $(/bin/date “+%Y-%m-%d %H:%M:%S”).\n”

echo -e “${G}[系统信息]${N}\n”

echo -e ” SYSTEM : $(awk -F'[=”]+’ ‘/PRETTY_NAME/{print $2}’ /etc/os-release)”

echo -e ” KERNEL : $(uname -sr)”

echo -e ” UPTIME : ${UPTIME_DAYS} days ${UPTIME_HOURS} hours ${UPTIME_MINS} minutes ${UPTIME_SECS} seconds”

echo -e ” CPU : ${PROCESSOR_NAME} (${G}${PROCESSOR_COUNT}${N} vCPU)\n”

echo -e ” MEMORY : ${MEMORY_USED} MB / ${MEMORY_ALL} MB (${G}${MEMORY_PERCENTAGE}${N} Used)”

echo -e ” LOAD AVG : ${G}${LOAD1}${N} (1m), ${G}${LOAD5}${N} (5m), ${G}${LOAD15}${N} (15m)”

echo -e ” PROCESSES : ${G}${PROCESS_ROOT}${N} (root), ${G}${PROCESS_USER}${N} (user), ${G}${PROCESS_ALL}${N} (total)”

echo -e ” USERS : ${G}$(users | wc -w)${N} users logged in”

echo -e ” BASH : ${G}${BASH_VERSION}${N}\n”

EOF

如果上面的命令执行有报错,可以将以上内容拷贝到文本编辑器后,再粘贴到系统终端里执行,或者直接将EOF之间的内容写到/usr/local/bin/00-custom-header文件里。

步骤2:在终端执行以下命令,给文件文件添加可执行权限。

chmod   +x  /usr/local/bin/00-custom-header

步骤3:在终端执行以下命令,将自定义内容直接写入到/etc/profile文件。

if [ $(grep -c “00-custom-header” /etc/profile) -eq 0 ];then

echo “/usr/local/bin/00-custom-header” >> /etc/profile

fi

4、效果图如下

发表回复 0

Your email address will not be published.