Berikut panduan lengkap dari nol agar server Ubuntu mengirim WhatsApp alert tiap ada login SSH ‑‑ kali ini pesan dikirim ke dua nomor:

  • 628586160XXXX
  • 628572740XXXX (diubah ke format internasional “628…”)

1. Prasyarat

ButuhKeterangan
curlBiasanya sudah ada; jika belum kita pasang.
API   Key5b2aed8c-a388-420f-XXXX-856872425248
Endpointhttps://backend.notifikasi.pro/api/send-message
Akses rootuntuk menaruh script di /etc/profile.d & membuat log

2. Pasang curl (jika perlu)

sudo apt update && sudo apt install curl -y


3. Buat script notifikasi

sudo nano /etc/profile.d/notify-login.sh

Tempel script di bawah ini, lalu simpan (CTRL‑O ↵ CTRL‑X)
#!/bin/bash
# === CONFIG ===
WA_IDS=("628586160XXXX" "628572740XXXX")           # ← dua nomor tujuan
WA_KEY="5b2aed8c-a388-420f-XXXX-856872425248"      # ← API‑key kamu
API_URL="https://backend.notifikasi.pro/api/send-message"
LOG_FILE="/var/log/notify-login.log"

# === LOGIN INFO ===
USER_LOGIN=$(whoami)
IP_ADDRESS=$(echo $SSH_CLIENT | awk '{print $1}')
LOGIN_TIME=$(date "+%A, %d %B %Y %H:%M:%S")
HOSTNAME=$(hostname)

# === RESOURCE INFO ===
MEM_INFO=$(free -h | awk '/Mem:/ {printf "Total: %s | Used: %s | Free: %s",$2,$3,$4}')
CPU_LOAD=$(top -bn1 | grep "load average" | awk '{print $(NF-2)", "$(NF-1)", "$NF}')

# === MESSAGE ===
MESSAGE="????️ *LOGIN SERVER Terdeteksi*\n\n???? User: *$USER_LOGIN*\n????️ Host: *$HOSTNAME*\n???? IP: *$IP_ADDRESS*\n???? Waktu: *$LOGIN_TIME*\n\n???? RAM: $MEM_INFO\n???? CPU Load: $CPU_LOAD"

# === SEND TO EACH NUMBER ===
for WA_ID in "${WA_IDS[@]}"; do
  HTTP_CODE=$(curl -s -o "/tmp/notify_resp_$WA_ID.txt" -w "%{http_code}" \
    -X POST "$API_URL" -H "Content-Type: application/json" \
    -d "{\"id\":\"$WA_ID\",\"text\":\"$MESSAGE\",\"type\":\"Text\",\"waKey\":\"$WA_KEY\"}")

  echo "[$LOGIN_TIME] User $USER_LOGIN from $IP_ADDRESS ⟹ $WA_ID" >> "$LOG_FILE"
  if [ "$HTTP_CODE" = "200" ]; then
      echo "✅ Sent (HTTP 200)" >> "$LOG_FILE"
  else
      echo "❌ Failed (HTTP $HTTP_CODE)" >> "$LOG_FILE"
      cat "/tmp/notify_resp_$WA_ID.txt" >> "$LOG_FILE"
  fi
  echo "----------------------------------------" >> "$LOG_FILE"
done


4. Jadikan executable

sudo chmod +x /etc/profile.d/notify-login.sh


5. Siapkan file log

sudo touch /var/log/notify-login.log
sudo chmod 666 /var/log/notify-login.log   # mudah diinspeksi


6. Uji coba

  1. Log‑out, lalu SSH login lagi (bisa dari device berbeda supaya IP berbeda).
  2. Periksa WhatsApp di kedua nomor – pesan harus muncul.
  3. Jika belum muncul, cek log:
cat /var/log/notify-login.log


Di sana akan ada:
  • Baris “✅ Sent (HTTP 200)” kalau sukses,
  • Atau “❌ Failed (HTTP …)” beserta isi respons API kalau ada masalah key/jaringan.

7. Troubleshooting cepat

GejalaLangkah cek
Tidak ada pesanPastikan script punya izin + jalur /etc/profile.d dieksekusi (hanya login shell).
HTTP 401/403API‑key salah / device belum terhubung.
HTTP 500Server API down; coba lagi.
Pesan gandaPeriksa apakah script disalin ganda di /etc/profile.d.

Selesai!

Server kini akan mengirim alert login lengkap dengan detail resource ke dua nomor WhatsApp yang kamu minta.