麒麟服务器【设置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、效果图如下
