Tag: Server

  • 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 (都是英文)