LINEでサクっと通知が受け取れると便利ですよね。爆速で設定しましょう。
LINE Notifyのトークンを取得する
Botのように相互にやりとりをするのではなく一方的に通知をするだけであればLINE Notifyが便利です。
Messaging APIと異なり基本的にずっと無料で、設定が簡単なのも利点です。今回はこれを使うことにします。
まずはLINE Notifyのサイトでトークンを取得しましょう。
右上のログインを押して、普通にLINEアカウントでログインします。
ログインの表記がアカウント名に変わるので、そこからマイページをクリックします。
こんな感じの画面になるので、トークンを発行するボタンを押します。
トークン名は通知の際に表示されるので、「SSH通知」や「ログイン通知」などわかりやすいものにしておきます。
送付先のメッセージルームは通知をチームで共有したいならそこを、個人的なものなら1:1で通知を受け取るを選びます。
入力が終わり、発行するボタンを押すとトークンが表示されます。
このトークンはこの画面以外では表示できず、紛失してしまうと再度発行し直しになるのでしっかりコピーしておきましょう。
以上でトークンの取得は完了です。
トークンを試す
きちんとNotifyで通知が送れるか試してみます。
以下のコマンドをターミナルで実行してみてください。
curl -X POST -H 'Authorization: Bearer <取得したLINE Notifyのトークン>' -F 'message=Notifyのテスト' https://notify-api.line.me/api/notify
無事にLINEで通知が届いていればOKです。
sshrcを設定する
あとはサーバ側でユーザがsshログインしてきた時に実行されるsshrcに通知用のスクリプトを書くだけです。
/etc/ssh/sshrc
に下記のスクリプトを書いておきます。
message='SSH Login / User: '$USER' / Client: '$SSH_CLIENT
curl -sS -X POST -H 'Authorization: Bearer <取得したLINE Notifyのトークン>' -F message="$message" https://notify-api.line.me/api/notify > /dev/null
これでサーバにログインがあった時はLINEに通知が届くようになりました。
curlでサクッと通知を送れるのでとても楽ですね。
ちなみにcurlの-sオプションはプログレスバーを表示しないようにするもの、-Sオプションはエラー時だけ表示するようにするものです。
これを設定しておかないとログインの度にcurlの進捗が出てしまってうっとうしいのでこうしてあります。
最後に
LINE Notify、いまいちマイナーですけど普段使っているチャットアプリにサクっと通知を送れるのはすごく便利ですね。
筆者はTwitterで日々技術情報もろもろの投稿をしているので良かったらフォローしてもらえると嬉しいです。