使用 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 都会发送一条通知给你。

Telegram 截图

写在最后

  1. 创建了 ~/.ssh/rc 的用户在登陆时只执行该文件,/etc/ssh/sshrc 会被忽略。
  2. 端口转发时会触发,但是开启 -N 选项后不会触发。
  3. 有关创建 Telegram Bot 以及如何获取 API Key 和 Chat ID 的教程可以看 这一篇文章

当然这也并不是就万无一失了。提高安全意识,按时更换密码和私钥,不使用来历不明的代码才是正确的姿势。

但是我懒啊

最后的最后当然是祈祷这个脚本一次也不要派上用场。

上一篇下一篇

猜你喜欢

热点阅读