Telegram: verstuur een bericht (Linux)

Zorg dat je een Telegram bot hebt gemaakt, om te zien hoe je dat moet doen kijk je hier !

Wij maken een simple scriptje die een bericht stuurt op het moment dat iemand inlogt op de shell.
De bestanden kun je zelf maken of hier downloaden: https://github.com/bertman80/telegram

cd /tmp
nano telegram-send.sh

GROUP = groepid of je eigen gebrukersid. Deze kun je opvragen door deze toe te voegen https://t.me/idbot en type dan in /getid
BOT_TOKEN = is de unieke bot code die je gekregen hebt bij het aanmaken van de bot.

#!/bin/bash
    
GROUP_ID=<group_id>
BOT_TOKEN=<bot_token>

# this 3 checks (if) are not necessary but should be convenient
if [ "$1" == "-h" ]; then
  echo "Usage: `basename $0` \"text message\""
  exit 0
fi

if [ -z "$1" ]
  then
    echo "Add message text as second arguments"
    exit 0
fi

if [ "$#" -ne 1 ]; then
    echo "You can pass only one argument. For string with spaces put it on quotes"
    exit 0
fi

curl -s --data "text=$1" --data "chat_id=$GROUP_ID" 'https://api.telegram.org/bot'$BOT_TOKEN'/sendMessage' > /dev/null
chmod +x telegram-send.sh

Even testen:

./telegram-send.sh "Test message"

Als je een bericht hebt ontvangen, dan kun je verder gaan.

Wij gaan nu een script maken die op wordt gestart op het moment dat je inlogt,

nano /etc/profile.d/login-notify.sh
#!/bin/bash
    
# prepare any message you want
login_ip="$(echo $SSH_CONNECTION | cut -d " " -f 1)"
login_date="$(date +"%e %b %Y, %a %r")"
login_name="$(whoami)"

# For new line I use $'\n' here
message="New login to server"$'\n'"$login_name"$'\n'"$login_ip"$'\n'"$login_date"

#send it to telegram
telegram-send "$message"

Log nu opnieuw in op de Shell en kijken of het werk !

bron: https://bogomolov.tech/Telegram-notification-on-SSH-login

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *