08 lutego 2015 blog security ssh pushbullet

Jak otrzymywać informację o zalogowaniu się za pośrednictwem Pushbullet.

Skrypt

Pierwszym krokiem jest pobranie tokena autoryzacyjnego usługi Pushbullet. Można nim zarządzać w ustawieniach konta.

Następnie tworzymy skrypt, np. /etc/ssh-login-notify.sh, nie zapominając nadać mu status wykonywalnego - chmod +x /etc/ssh-login-notify.sh. Własny token wklejamy w miejsce oznaczone jako TOKEN (na końcu musi pozostać dwukropek).

#! /usr/bin/env bash

pushIt() {
curl -u TOKEN: \
	https://api.pushbullet.com/v2/pushes \
	-d type=note \
	-d title="`hostname`" \
	-d body="$*" \
	>/dev/null 2>&1 &
}

if [ "$PAM_TYPE" != "close_session" ]; then
	pushIt "SSH $PAM_TYPE: $PAM_USER from $PAM_RHOST on `date`" \
		"`echo -e '\n-\r\n'`" \
		"`env`"
fi

Konfiguracja PAM

Pozostaje dodanie linijki na końcu pliku /etc/pam.d/sshd, dzięki której nasz skrypt zostanie uruchomiony:

session optional pam_exec.so seteuid /etc/ssh-login-notify.sh

I to wszystko. Przy każdym logowaniu otrzymamy informację, np. na telefon.

Linki