SSH服务器登录提示消息配置

SSH的提示消息分为两种,一种是登录前,一种是登录后。登录前的提示是每个人都可以看到的,所以最好不要涉及机器的任何相关信息,一般给出警告之类的消息。登录后的话可以给出系统的运行情况(负载、空闲内存、空闲硬盘空间、硬件温度等)。

首先设置/etc/ssh/sshd_config,找到这一行

Banner /etc/issue

去掉前面的#注释,然后编辑/etc/issue这个文件,我的内容是:

This is a private machine.

————WARNING————-
Authourized administrators only.
——————————–

Your IP has been recorded.

这样,任何ssh连接到这台机器的终端都会先看到这个警告提示,然后才是密钥验证过程。对于合法的登录用户,会显示/etc/motd这个文件的内容,但是这个文件一般是静态的,不太适合编辑,所以可以编辑用户主目录下的.bash_login文件,这个文件的语法和bash一致,所以可以方便的显示一些动态内容。我这里这个文件的内容是:

echo -e "nOf course it runs on $(uname -s)n"
 CPUTIME=$(ps -eo pcpu | awk 'NR>1' | awk '{tot=tot+$1} END {print tot}')
 CPUCORES=$(cat /proc/cpuinfo | grep -c processor)
 echo "
 System Summary (collected `date`)
 - CPU Usage (average)       = `echo $CPUTIME / $CPUCORES | bc`%
 - Memory free (real)        = `free -m | head -n 2 | tail -n 1 | awk {'print $4'}` Mb
 - Memory free (cache)       = `free -m | head -n 3 | tail -n 1 | awk {'print $3'}` Mb
 - Swap in use               = `free -m | tail -n 1 | awk {'print $3'}` Mb
 - System Uptime             =`uptime`
 - Disk Space Used           = `df / | awk '{ a = $5 } END { print a }'`"

下面看看我的执行效果吧,宿主机器Fedora连接NetBSD虚拟机!(刚刚上面写的df/|awk……a=$4写错了,应该是=$5(已修正),下图的Disk Space Used显示的就是写错成$4的结果,写$5才能读取已使用的百分比)。

ssh

参考来源:Ubuntu Forum | Question Defense (都是英文)