手上的VPS一多,迫切需要一款提醒工具来保证一定程序上的安全

于是现在迫切的需要一个 SSH 的登陆提醒。

编辑 /etc/ssh/sshrc 放入以下代码:

#!/bin/sh

IP="$(echo $SSH_CONNECTION | cut -d " " -f 1)"
HOSTNAME=$(hostname)
NOW=$(date +"%Y/%m/%d, %a %r")

CONTENT="Someone from http://ip-api.com/json/$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")

如果想要发送图片怎么办?

title="<Your title>"
RES=$(curl -X POST \
    -F "chat_id=<Your chat id>" \
    -F "caption=\"${title}\"" \
    -F "photo=@/<path to 123.png>" \
     "https://api.telegram.org/bot<Your bot token>/sendPhoto")

这样在每次登陆 SSH 后 Telegram Bot 都会发送一条通知给你。
写在最后
创建了 ~/.ssh/rc 的用户在登陆时只执行该文件,/etc/ssh/sshrc 会被忽略。
端口转发时会触发,但是开启 -N 选项后不会触发。
有关创建 Telegram Bot 以及如何获取 API Key 和 Chat ID 的教程可以自行百度也可以参考以下:

  1. @botfather 获取机器人的api key
  2. 将机器人添加到组中
    转到组,单击组名称,单击添加成员,在搜索框中搜索您的机器人,如下所示:@my_bot,选择您的机器人并单击添加,并发送一条测试信息
  3. 转到以下网址:

    https://api.telegram.org/bot{api_key}/getUpdates

    将 api_key 替换为您的机器人令牌,如:

    https://api.telegram.org/bot123456789:jbdtd78sadvbdy63d37gda37bd8/getUpdates
  4. 查找 "chat":{"id":-zzzzzzzzzz,-zzzzzzzzzz 是您的聊天 ID(带负号的)
  5. -测试:您可以测试使用 curl 向群组发送消息:

    curl -X POST "https://api.telegram.org/bot{api_key}/sendMessage" -d "chat_id=-zzzzzzzzzz&text=my sample text"

扫描二维码,在手机上阅读!
分类: 搞机笔记 标签: 暂无标签

评论

-- 评论已关闭 --