サーバーにsshログインした時にslackに通知する

概要

サーバーにsshログインした時にslackに通知する

slack側での作業

  • 「チャネル設定」→「アプリを追加する」を順にクリックする
  • 「incoming-webhook」をインストールする
  • 「incoming-webhook」の設定にある「Webhook URL」をメモする

サーバー側での作業(CentOS7)

下記の「channel-name」と「http://hooks...」の部分は環境に合わせて要変更

$ sudo vim /etc/ssh/sshrc
#!/bin/bash

CHANNEL="#channel-name"
HOSTNAME=`hostname`
MESSAGE="username:${USER} from:${SSH_CLIENT} server:${HOSTNAME}"
WEBHOOK_URL='https://hooks.slack.com/services/xxxx/xxxx/xxxx'
curl -X POST --data-urlencode 'payload={"channel": "'"${CHANNEL}"'", "username": "login notification", "text": "'"${MESSAGE}"'"}' ${WEBHOOK_URL} 1>/dev/null 2>/dev/null