ssh
当有人远程连接到我的服务器 时,我希望我的服务器向我发送邮件。
who
只给我返回用户名、终端 ID 和日期。我不能只使用它,我需要检查有人用来连接到我的 IP。所以触发部分将是外部IP。
我怎样才能做到这一点?
编辑:who -h 返回 ssh 会话的 IP 地址。感谢阿彻马尔
答案1
您可以向您的 Linux 发行版添加一些 shell 脚本,/etc/bashrc
或者/etc/bash.bashrc
将其添加到您的 Linux 发行版上。当用户通过 SSH 远程登录时执行这些命令。只需测试是否有$SSH_CLENT
变量来区分 ssh 登录。
还有其他有用的变量可以满足您的需求,例如:
SSH_ASKPASS=/usr/lib/ssh/x11-ssh-askpass
SSH_CLIENT='127.0.0.1 57353 2217' ← ip address
SSH_CONNECTION='127.0.0.1 57353 127.0.0.1 2217'
USER=username
编辑:当然,如果用户使用的是 GNU/bash。其他 shell 使用其他文件。请查看相关手册。
HTH,干杯