[Ubuntu] SSH 접속 시 텔레그램 알람보내기 #1 (봇생성편)

[Ubuntu] SSH 접속 시 텔레그램 알람보내기 #1 (봇생성편)
Photo by Dima Solomin / Unsplash

요즘은 메신저(또는 커뮤니케이션솔루션) 솔루션이 엄청 다양하다. 기본적으로 한국사람이면 거의 100% 사용한다고 볼 수 있는 카카오톡부터 슬랙이나 디스코드 등 정말 많은 메신저 솔루션이 있는데, 개인적으로는 업무용도로 텔레그램을 주로 사용하고 있다. 메신저별로 용도를 분리해놓으니 알람규칙을 정하기에도 용이한 것 같아서 개인용은 카카오톡, 업무용은 텔레그램, 각종 커뮤니티용은 슬랙과 디스코드 등으로 나눠서 사용하고 있다.

이번에 할 작업은... 신규로 구성한 서버에 SSH로 로그인을 하면 텔레그램 메시지로 어디에서 로그인을 했는지 알람시스템을 구축해보려고 한다.

텔레그램 가입이나 개인 폰에 설치하는 등의 작업은 생략하고, 텔레그램을 사용하고 있다는 전제로 글을 작성한다.(캡쳐화면은 PC버전의 텔레그램 메신저에서 촬영한거지만... 폰으로 작업해도 크게 다르지 않다)


연관 포스트

  1. [Ubuntu] SSH 접속 시 텔레그램 알람보내기 #1 (봇생성편)
  2. [Ubuntu] SSH 접속 시 텔레그램 알람보내기 #2 (메시지발송편)
  3. [Ubuntu] SSH 접속 시 텔레그램 알람보내기 #3 (명령어로 메시지발송 테스트)
  4. [Ubuntu] SSH 접속 시 텔레그램 알람보내기 #4 (최종편)

A. 봇파더를 찾아보자

텔레그램을 실행하고 좌측상단의 검색창에 botfather(1)를 입력해보자.

텔레그램 메신저 캡쳐화면 1 (직접 캡쳐 후 편집)

좌측에 검색되는 검색 결과 중에서 @BotFather라는 봇을 선택(2)한다. 선택하면 하단에 시작이라는 버튼(3)을 클릭하면, 봇파더와 대화를 시작할 수 있다.

텔레그램 메신저 캡쳐화면 2 (직접 캡쳐 후 편집)

시작버튼을 클릭하면 간단한 설명이 나온다. 그 설명을 정독할 필요는 없고.. 하단의 메뉴(1)를 누르면 실행가능한 명령어들이 나오니 참고만 하면 된다.

B. 신규 텔레그램봇 생성

BotFather의 텔레그램봇과의 대화창에서 메뉴(1)를 선택하고, /newbot(2)을 선택한다.

텔레그램 메신저 캡쳐화면 3 (직접 캡쳐 후 편집)

그 다음 과정은 봇파더와 대화하는 형식으로 진행된다. 일단, 봇의 이름을 입력한다. 나의 경우에는 simplism-ssh-alarm으로 입력했다.

문제는 그 다음인데... username(일종의 ID?)을 입력해야한다. 몇 번의 입력실패를 거치고서야 simplism_ssh_alarm_bot으로 최종입력했다.

'-'(dash) 문자는 사용할 수 없는 것 같아서 '_'(underline)으로 문자를 변경해서 정상적으로 입력을 완료했다.

입력을 완료하면 API 토큰(Token)이 발행되는데, 해당 토큰을 알고 있으면 임의로 메시지를 보낸다거나 하는 등의 봇의 기능을 이용할 수 있으므로 노출되지 않도록 한다.

사실 따로 보관할 필요는 없는데... 언제든지 봇파더에게 내가 생성한 봇의 목록을 보고, 봇의 Token을 확인하고, Token 재생성도 하는 등의 일들을 할 수 있다.

C. 봇 시작!

사실 텔레그램봇을 사용하는 방법은 다양하다. 개인적인 용도로만 사용하는 것이라서 마치 1:1 대화방처럼 사용하려고 한다.

텔레그램 메신저 캡쳐화면 4 (직접 캡쳐 후 편집)

봇파더를 검색할 때처럼 좌측상단의 검색창에서 봇이름을 검색(1)한다. 검색결과에서 원하는 봇이 검색되면 선택(2)하고, 하단의 시작버튼을 클릭(3)한다.

텔레그램 메신저 캡쳐화면 5

D. 마치면서..

작성할 내용이 너무 길어질 것 같아서 여러 개의 포스트로 나눠서 작성하려고 한다.
아마도... 3~4개의 포스트로 작성되지 않을까 싶다.

사실 이미 서버에 적용했는데... 다른 사람이 이해할 수 있는 형태로 캡쳐작업도 하고, 설명도 넣다보니 포스트 1개를 작성하는데에 생각보다 많은 수고가 들어간다. 근데, 예전에 이런 식으로 블로그를 운영하면서 결과적으로는 나에게 도움이 되었던 것을 기억하면서 꾸준히 해보려고 한다.(회사를 다니면서 몇 번 시도를 했다가 실패를 하긴 했었지만...ㅋ 이번에는 성공하길!)

E. 참고문서

  1. [Python] 파이썬으로 나만의 텔레그램 봇 만들기, 차밍이, 커딩왕, 2021/05/31