使用 Telegram 接收 SSH 登陆提醒
2018-02-02 本文已影响0人
Jesse_Zhu
最近一直没有管几台 VPS,直到最近收到 Google 的邮件说我的服务器正在挖矿,给关掉了(
于是现在迫切的需要一个 SSH 的登陆提醒。
编辑 /etc/ssh/sshrc
放入以下代码:
#!/bin/sh
IP="$(echo $SSH_CONNECTION | cut -d " " -f 1)"
HOSTNAME=$(hostname)
NOW=$(date +"%e %b %Y, %a %r")
CONTENT="Someone from $IP logged into $HOSTNAME on $NOW."
RES=$(curl -X POST \
-F "chat_id=<chat_id>" \
-F "text=${CONTENT}" \
-o /dev/null --silent \
-w %{http_code} \
"https://api.telegram.org/bot<apikey>/sendMessage")
这样在每次登陆 SSH 后 Telegram Bot 都会发送一条通知给你。

写在最后
- 创建了
~/.ssh/rc
的用户在登陆时只执行该文件,/etc/ssh/sshrc
会被忽略。 - 端口转发时会触发,但是开启
-N
选项后不会触发。 - 有关创建 Telegram Bot 以及如何获取 API Key 和 Chat ID 的教程可以看 这一篇文章
当然这也并不是就万无一失了。提高安全意识,按时更换密码和私钥,不使用来历不明的代码才是正确的姿势。
但是我懒啊
最后的最后当然是祈祷这个脚本一次也不要派上用场。