所以我试图在大约100台服务器上设置电子邮件通知,我正在使用一个完美运行的if脚本,但是我有一个工具,每隔5分钟ssh进入每台机器收集统计信息。我正在尝试调整脚本以忽略来自1 IP的任何ssh尝试。我已经绞尽脑汁,我想我已经查看了关于这个问题的每一个可能的问题。任何帮助都会很棒,谢谢你们!
目前,无论ssh是谁,脚本都会发送电子邮件。
#!/bin/sh
# Change these two lines:
sender="fromtest@test.com"
recepient="test@test.com"
if [ "$PAM_RUSER" != "192.168.1.10" ]; then
goto done
next
if [ "$PAM_TYPE" != "close_session" ]; then
host="`hostname`"
subject="SSH Login: $PAM_USER from $PAM_RHOST on $host"
# Message to send, e.g. the current environment variables.
message="`env`"
echo "$message" | mail "$sender" -s "$subject" "$recepient"
fi
fi
答案 0 :(得分:2)
#!/bin/sh
# Change these two lines:
sender="fromtest@test.com"
recepient="test@test.com"
if [ "$PAM_RHOST" != "192.168.1.10" -a "$PAM_TYPE" != "close_session" ]; then
host="`hostname`"
subject="SSH Login: $PAM_USER from $PAM_RHOST on $host"
# Message to send, e.g. the current environment variables.
message="`env`"
echo "$message" | mail "$sender" -s "$subject" "$recepient"
fi
如果if
变量等于PAM_RHOST
,此解决方案使用不同的条件跳过192.168.1.10
的正文。我们使用-a
(和)来指定必须满足两个条件。