기본 콘텐츠로 건너뛰기

추천 가젯

리눅스 홈서버 알림용 텔레그램 봇(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...

NFC Tag로 Wifi 공유하기. (Android, NFC Tools)



NFC Tools 어플리케이션을 킨다. 


Write Tab에가서 Add a record로 들어간다. 아래로 스크롤하여 

Wi-Fi network를 누른다. 


돋보기 버튼을 누른다. 근처에 있는 모든 네크워크가 뜨므로 오른 쪽 상단에 

Wi-Fi가 양쪽으로 나가는 아이콘을 클릭한다. (제목 우측:Available Wi-Fi networks)

잠시후 가까이에 있는 Wi-Fi 즉 내가 작업할 놈이 최상단에 뜰 것이다. 


그것을 누르고 Authentication 은 가정용에서는 WPA/WPA2-Personal을

고르면 되고, password는 그대로 가져와서 쓰면 된다. 


그리고 OK를 누르고 나간면 Write / 약 100bytes  와 같은 버튼이 있다.


그것을 누르고 빈 NFC Tag에 가져다 댄다.  

그러면 Wi-Fi에 관한 모든 정보가 기입된다. 



모든 작업이 완료되었다. 안드로이드 기기간에는 약속된 NFC Tag기능이 있는데 그 중 하나가 Wi-Fi Network을 추가 하는 것이다.  


이제 다른 사람의 핸드폰 또는 본인의 핸드폰에서 해당 비밀번호를 초기화 한후 비접촉 방식으로 접속해보자. 


나 같은 경우는, NTAG213이라는 제품을 사용하다보니 최대 144바이트를 쓸 수 있어서 비밀번호 원문이 그대로 Tag에 노출된다. 

Wi-Fi 비밀번호를 만들 때, 중복되지 않는 임의의 비밀번호를 생성한다면 노출이 된다해도 나중에 수정하면 된다. 다만 다른데서 쓰는 비밀번호를 그대로 쓰고 싶다면 다른 방법을 사용해보자. 


다른 툴을 사용하면, 비밀번호를 Hash 값으로 바꿀 수 있다. 나 같은 경우는 wpa_passphrase를 사용하는데 이것을 통하면, 65자리의 Hash가 얻어진다. 

요렇게 했을 때, 원문 비밀번호는 노출이 되지 않으나(무작위 대입방법에는 취약하니 영어만 쓴다거나 하면 안된다. 그냥 랜덤값 쓰고 본인도 NFC 터치로만 연결하자. )


  애매하게 150byte정도를 쓰는데 이건 내 ssid가 긴 문제인 것 같다만, (어차피 터치로 할거니 짧듯 길든 무슨 상관...) 


NTAG 213은 144바이트 밖에 안되서 제약이 많으므로 NTAG215(504bytes) 나  NTAG216(888bytes)를 애초에 구매를 해서 사용하는 방법을 쓰면 좋다. 


215도 ebay에서 213보다 비싸지만 약간의 차이이니 이것을 추천한다. 나도 213이 너무 작아서 다음에 구입 예정이다. 


213은 머리 맡에 가져다 대면, 손전등이 켜지게 하거나, 블루투스 오디오를 바로 연결하게 하는 등 보안과 상관 없는 간편작업에 쓰면 좋을 것이다.

비밀번호는 원문공개를 항상 조심하자. 몇년전에 한국물리학회홈페이지에서 비밀번호 찾기를 했는데, 원문이 그대로 와서 식겁했다. 그 때 이미 불법이었는데... 그러고서도 몇년동안 그대로였는데, 여기는... 비밀번호가 털렸는지 확인조차 제대로 안되었을 것 같아서.. 걱정을 많이 했는데 여러분도 그럴 필요는 없으니, 대충 쓰는 비번은 중요한 비번과 겹치지 않게 잘 하자. 

댓글