[Share] Notifikasi Login SSH via Telegram
#6
(11-27-2015, 12:37 AM)v.arFha Wrote: Berawal iseng iseng di google pengen nyari tau gimana bisa tau user yang login ke SSH akhirnya ane menemukan postingan tentang Notifikasi Login SSH Menggunakan Telegram Bot..

Sudah tau apa itu Telegram dan Apa itu Bot??
Silahkan buka google :p

oke disini ane cuma menjelaskan cara membuat notifikasinya saja..
Bagaimana cara membuat Bot Telegram
Silahkan browsing di google :p

Untuk membuat Bot notif ini kita harus punya Bot token yang saat membuat bot sudah dikasih tau Token-nya
yang kedua kita harus tau ID akun telegram yang menerima notif tersebut
dan yang ketiga di server sudah terinstall jq.
Karena saya menggunakan Centos jadi cara install jq cukup dengan
sudo yum install jq


Kemudian untuk mendapatkan ID silahkan kirim pesan ke bot kemudian buka link https://api.telegram.org/bot{BotToken}/getUpdates
maka akan muncul beberapa tulisan atau apalah itu namanya wkwkkwkwkwkkw
disana akan terlihat ID dari user yang mengirim pesan ke bot

[Image: 7JJ5D5d.png]
dari gambar diatas terlihat kalo id saya ada 133700 << Bukan ID Sebenarnya

Setelah ID dan Token kita dapatkan maka selanjutnya adalah membuat file di /etc/profile.d/ssh-telegram.sh
yang isinya adalah sebagai berikut

Code:
# save it as /etc/profile.d/ssh-telegram.sh
# use jq to parse JSON from ip-api.com
# get jq from here http://stedolan.github.io/jq/
USERID="ISI_DENGAN_USER_ID_ANDA"
KEY="ISI_DENGAN_BOT_TOKEN"
TIMEOUT="10"
URL="https://api.telegram.org/bot$KEY/sendMessage"
DATE_EXEC="$(date "+%d %b %Y %H:%M")"
TMPFILE='/tmp/ipinfo-$DATE_EXEC.txt'
if [ -n "$SSH_CLIENT" ]; then
    IP=$(echo $SSH_CLIENT | awk '{print $1}')
    PORT=$(echo $SSH_CLIENT | awk '{print $3}')
    HOSTNAME=$(hostname)
    IPADDR=$(hostname -I | awk '{print $1}')
    curl http://ip-api.com/json/$IP -s -o $TMPFILE
    CITY=$(cat $TMPFILE | jq '.city' | sed 's/"//g')
    REGION=$(cat $TMPFILE | jq '.region' | sed 's/"//g')
    COUNTRY=$(cat $TMPFILE | jq '.country' | sed 's/"//g')
    ORG=$(cat $TMPFILE | jq '.org' | sed 's/"//g')
    TEXT="$DATE_EXEC: ${USER} logged in to $HOSTNAME ($IPADDR) from $IP - $ORG - $CITY, $REGION, $COUNTRY on port $PORT"
    curl -s --max-time $TIMEOUT -d "chat_id=$USERID&disable_web_page_preview=1&text=$TEXT" $URL > /dev/null
    rm -rf $TMPFILE
fi

Kemudian jangan lupa rubah permission filenya biar bisa di eksekusi dengan cara
chmod +x /etc/profile.d/ssh-telegram.sh

Setelah itu coba login deh ke SSH nya, nanti om Bot bakalan kirim message yang isinya seperti ini :
[Image: HgA8UcD.png]

{USER} logged in to {HOSTNAME (IP SERVER)} From {IP ANDA} - {ISP} - {KOTA} - {Regional} - {Negara} On PORT {SSH_PORT}
Ex
OrangGanteng logged in to server.ganteng.id (127.0.0.1) From 8.8.8.8 - Google - Mountain View - CA - US On PORT 12345

CMIWW... Bot berjalan dengan lancar dan bijaksana Big Grin
Demi Privacy beberapa tulisan di screenshot terpaksa saya remove


Source : Matriphe
wah nice info om @v.arFha izin coba dulu ya , baru nanti dikasih cendol nya =)) :d
Twitter : Orang Sederhana
FB : Orang Sederhana
OrangSederhana@IBTeam:~#



Messages In This Thread
Notifikasi Login SSH via Telegram - by arfha - 11-27-2015, 12:37 AM
RE: Notifikasi Login SSH via Telegram - by iPin - 11-27-2015, 02:04 AM
RE: Notifikasi Login SSH via Telegram - by arfha - 11-27-2015, 08:49 AM
RE: Notifikasi Login SSH via Telegram - by orang sederhana - 11-27-2015, 12:33 PM
RE: Notifikasi Login SSH via Telegram - by falcon - 11-29-2015, 03:26 PM
RE: Notifikasi Login SSH via Telegram - by arfha - 06-17-2016, 07:36 PM
RE: Notifikasi Login SSH via Telegram - by ino_ot - 06-17-2016, 10:08 PM
RE: Notifikasi Login SSH via Telegram - by 417116 - 07-21-2017, 06:41 PM




Users browsing this thread: 1 Guest(s)