기본 콘텐츠로 건너뛰기

추천 가젯

리눅스 홈서버 알림용 텔레그램 봇(Telegram Bot) 연동 및 쉘 스크립트 구축 가이드

개인 홈서버를 운영하다 보면 백업 완료 여부나 시스템 에러 같은 단방향 알림을 스마트폰으로 빠르게 받아보고 싶어집니다. 외부 메일 서버나 복잡한 SMTP 설정을 거치지 않고, 가장 확실하고 가볍게 쓸 수 있는 텔레그램 봇을 이용한 홈서버 알림 구축 방법 을 정리합니다. 1단계: 텔레그램 봇 생성하기 (BotFather) 텔레그램 앱을 켜고 상단 검색창에 BotFather 를 검색하여 공식 봇(파란색 체크마크 확인)을 엽니다. 대화창에 아래 명령어를 입력하여 새로운 봇을 만듭니다. Plaintext /newbot 봇의 이름(Name)을 입력합니다. (예: My Home Server Bot ) 봇의 아이디(Username)를 입력합니다. (반드시 영문이며 끝에 bot 또는 _bot 으로 끝나야 합니다. 예: my_home_backup_bot ) 생성이 완료되면 HTTP API 토큰(Token)이 발급됩니다. 이 토큰을 안전하게 보관합니다. 2단계: 내 Chat ID(채팅방 고유 번호) 확인하기 텔레그램은 보안상 사용자가 먼저 봇에게 말을 걸어야 메시지를 받을 수 있으며, 봇이 나에게 메시지를 보내려면 고유 Chat ID 가 필요합니다. 텔레그램 검색창에 userinfobot 을 검색하여 들어갑니다. 하단의 [시작하기] 버튼을 누르면 내 계정의 정보와 함께 Id (숫자) 값을 알려줍니다. 이 숫자를 복사해 둡니다. [중요] 1단계에서 만든 내 봇의 아이디(예: @my_home_backup_bot )를 검색해서 대화창을 열고, [시작] 버튼을 누르거나 아무 메시지나 먼저 한 번 전송해 둡니다. 3단계: 리눅스 쉘 스크립트 작성 및 테스트 서버(터미널)에서 환경변수를 설정하고 curl 명령어를 통해 테스트 메시지를 보낼 수 있습니다. 특히 인자값이 없을 때를 대비해 기본값 처리를 해두면 유용합니다. 아래 내용을 포함하는 쉘 스크립트 파일(예: send_telegram.sh )을 작성합니다. Bash #!/bin/bash # 환경변수 설정 (실제 토큰과 C...

보안을 걱정하는 당신들께 정말 중요한 일이 있다면 pgp를 사용하라 권하고 싶다.


  사용방법은 어렵지 않다.

 윈도우라면 gpg5win.org라는 싸이트를 참조하면 되고

리눅스 사용자들이라면 그냥 구글링해라. gnupg로 terminal인지

gui를 좋아하는지 취향을 탈 것이다.

그리고 안드로이드 사용자라면 apg를 추천한다. 이유는 내가 쓰고 있어서지

딱히 장점이 있어서는 아니다.
-------------------------------------------------------------------------------------
어떤프로그램을 사용하던지 가장 먼저 할 일은 openPGP key pair를 만드는 일이다.
(key pair란 공개키+비밀키를 말한다.)(다른방식의 key pair도 만들 수 있다.)
키를 만들 때는 본인의 이름 그리고 이메일주소(key를 만들때 hash에 들어갈것이다 아마)

그리고comment를 입력해야 한다.이름과 코멘트는 같은 이메일로 여러개의 키를 만들었을 때

상대방과 내가 구분하기 위해 사용된다. 이름은 보통자기이름 코멘트는 용도나

카톡 프로필 같은 것을 적으면 된다.

 키를 만들 때, 비밀번호가 필요하다.비밀번호 없이도 가능하지만 비밀번호가 없을 때는

비밀키만 빼가면 복호화(암호화의 반대)가 가능하기 때문에 적당히 어렵지만 까먹지 않을

비밀번호를 쓰던지 키 자체에 만료기간을 두는 방식을 사용하라.

 자 이제 만들어진 키를 비밀키ᅟ는 잘 보관하고 개인키를 나에게 비밀메시지를 보낼 상대방에게

보내라.  파일로  보내던가 ---BEGIN으로 시작하는 텍스트를 보내던가 그것은 알아서하면 된다.

또는 키서버에 올리면 된다. 다음은 내 공개키를 pgp.mit.edu라는 키서버에 올린 그 키다.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.4
Comment: Hostname: pgp.mit.edu

mQENBFL91JABCACuzWUCbd8I5rvM0CresthuWJdDBHi3g9khPN0twDbcQWdCV9B1HqgBBFSt
3Q2xDODj5PIXiU3JP9J/BgCAA5nrbntHFgTbACujSmVKAFl6xjGrzJfhAoG3iasROJn2FTlb
GVfIFwAg90axFLuYqfERjPVfE/Y2wrPHwmnkO95tYro/UZFnaJdIpEe4CaGw2kcRE0JfCDdr
kFBfHpg4Mc7BCq7hDBeltQVQuJQGYdyGh8fd1rYEev0Yo9VM6ubPlDHBjdofoDG+u+6FUOYZ
fu9mF6oa36ZJNZE0BqfmdNX6aPg9QjT12HDDvv1UhfC2zbD4Pvb/ZKyzY9Jc4M/eurRNABEB
AAG0MUh5ZW9rIEtJTSAoS29ua3VrIFVuaXZlcnNpdHkpIDxla2gwMzI0QGdtYWlsLmNvbT6J
ATgEEwECACIFAlL91JACGw8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEI0HNn+ASP2n
DLwH/1Tf7USOLskb3ATqDIrCAtTB/r4h3ooCqNvf4D0ZrrKf/2Mc4+J+JK6BGwljDiRmRwRB
qsKrAAHIfHoOSE8O1ZgrTfXdnyRM7Z0umT3LrR7J2dWNaFSbO9HwL8bq25j2bjd4hSNcEIA8
xn12Ricnufl3J+pOFyr0tOoAhnFFVoeH9QjFSKBBfO6vIBft48YTpW1yy+5axoAqAhsWVkEY
ZCkMkUFFEnU6FRc05lVyNkpJ8QzDN9l9vt2BBvi7lfNYA3v9sufQSEOnLxa5sjQjO6U7KrLH
M424LhLf2/g+S4B+/cpwsayCGNE3y/nKuhMxHfgZlIihi8ZZBHED95gQDcs=
=z/tO
-----END PGP PUBLIC KEY BLOCK-----
 
그리고 보통 상대방도 PGP암호화 프로그램을 사용한다면 이메일주소만 알면 
 
key server에서 찾아주는 기능들은 포함하고 있다. 만든사람의 용도로 자기 키를 
키서버에 올리는 기능도 있다. 
 http://www.gpg4win.org/doc/en/gpg4win-compendium_13.html 여기 가서 좌우로
다니면서 잘 따라하면 된다.  

읽어보니 gpg4win을 깔면 outlook에 붙어서 쉽게 쓸 수 있는 것 같다. 
 


-------------------------------------------------------------------------
쉽게 쓰는 것은 그렇고 조금 귀찮지만 어떤 text 던지 data던지 암호화가 가능하다. 

파일을 암호화 하는 것은 이메일 보낼줄 아는 사람이라면 메뉴 뒤지면 할 수 있다. 

중요한것은 text를 암호화 할 수 있다는 것이다. 잘 찾아봐라 다 있다. 없으면
 
text파일을 암호화 해서 보내면 되기는 한데 암호화가 안되어 있는 메신저 서비스를 
 
엿맥이기에는 좀 부족하다. 잘 찾아서 text 창에 글쓰고 공개키 고르고 암호화 하고
 
암호화된 이상한 텍스트 ---BEGIN으로 시작하는 녀석을 그대로 text창에 입력후 보내면 된다. 
 
 그다음 받은 사람이 자기 비밀키로 암호화를 풀면된다. 
 
처음에는 Tutorial을 작성하려고 했는데 귀찮아서 도저히 못하겠다.
 
 인터넷에 올라온 tutorial 작성자들 진짜 -_- 존경한다.  

댓글