기본 콘텐츠로 건너뛰기

추천 가젯

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

Openconnect를 이용하여, kaist kvpn을 접속하는 방법.(No mozilla plugin)

INTRODUCTION

Kaist vpn은 juniper network사의 물건을 사용하는데

이 물건의 특징은 java plugin을 이용하는 web login vpn system
이라는 것이고 완전히 공개되지 않은 방식이라.

매번 접속하는 복잡한 방식이고 google chrome의 경우에는

mozilla plugin이 작년 11월부터 사용이 금지되어서 firefox등을 사용하지
않으면 kvpn을 사용할 수가 없다.

그런데 이번에 노트북에 kvpn 셋팅을 하는 과정에서  64bit OS에서

제대로 vpn이 되지 않고 바로 꺼져버리는 문제가 발생하였다.

그래서?

그래서 저번에 적어놓은 방법을 써서 해보려고 했든데 이거 잘되던 내
연구시 desktop에서도 막혔다.  머 저번에 다른방식을
하겠다는 이야기를 했으니 이번에 시도를 해보았고 성공적으로 접속이
되었기에 여기에 작성을 하고 있다.

요렇게 하면됨.

먼저 google에 openconnect download를 검색하고 첫번째 것을 클릭해서 
들어가면 아래와 같은 화면이 나온다. 여기서 최신 버전인 openconnect v7.06
을 받아서 build하면 된다.
Ubuntu 사용자라면 apt-get build-dep openconnect를 하면 
build하는데 필요한 파일들이 다깔린다. 
그다음 /configure -with-vpnc-script=/usr/share/vpnc-scripts/vpnc-script    에 vpnc-script 옵션을 주어야 한다. 그거야 ubuntu면 저기 있을꺼고
아니면 find /usr -name vpnc-script라고 치면 된다. 

그다음 make하고 .... make install은 하지마라.. 어차피 동적링크가 제대로 안되서 실행안되니까... 

그 담에는  vim kvpn.sh
  1 #!/bin/bash
  2 
  3 xterm -e "sudo $PWD/openconnect --juniper --useragent  'Mozilla/5.0 (Linux) Firefox' kvpn.kaist.ac.kr       "
  4 
~                                                                                                                    
위와 같이  실행파일 하나 만들어서 실행하자 그담에는 
realm [KAIST Members|Visitors|Graduates]:Visitors
입력하고 Kaist Members는 홈페이지 긁어서 머라고 입력해야되는지 찾아 보셔야합니다. 
그다음은 개인정보 입력하시면 됩니다. 그러면 성공적으로 
그러면 아래와 같이 지혼자 막 찾더니 성공적으로 vpn에 접속이 된다. 

POST https://kvpn.kaist.ac.kr/dana-na/auth/url_default/login.cgi
SSL negotiation with kvpn.kaist.ac.kr
Server certificate verify failed: signer not found
Connected to HTTPS on kvpn.kaist.ac.kr
Got HTTP response: HTTP/1.1 302 Moved
GET https://kvpn.kaist.ac.kr/dana-na/auth/url_default/welcome.cgi?p=user-confirm&id=state_799aacf0feb2d501c75e8641ad9623d5
SSL negotiation with kvpn.kaist.ac.kr
Server certificate verify failed: signer not found
Connected to HTTPS on kvpn.kaist.ac.kr
POST https://kvpn.kaist.ac.kr/dana-na/auth/url_default/login.cgi
SSL negotiation with kvpn.kaist.ac.kr
Server certificate verify failed: signer not found
Connected to HTTPS on kvpn.kaist.ac.kr
Got HTTP response: HTTP/1.1 302 Moved
GET https://kvpn.kaist.ac.kr/dana/home/starter0.cgi?check=yes
SSL negotiation with kvpn.kaist.ac.kr
Server certificate verify failed: signer not found
Connected to HTTPS on kvpn.kaist.ac.kr
SSL negotiation with kvpn.kaist.ac.kr
Server certificate verify failed: signer not found
Connected to HTTPS on kvpn.kaist.ac.kr
SSL negotiation with kvpn.kaist.ac.kr
Server certificate verify failed: signer not found
Connected to HTTPS on kvpn.kaist.ac.kr
Connected tun0 as 172.26.0.6, using SSL
ESP session established with server


댓글

  1. 오늘도 잘 작동함.. 이게 가장 많이 사람들이 읽은 글인데 왜 잘 쓴다는 사람이 없을까...

    답글삭제

댓글 쓰기