[Ubuntu] SSH 접속 시 텔레그램 알람보내기 #4 (최종편)

[Ubuntu] SSH 접속 시 텔레그램 알람보내기 #4 (최종편)
Photo by Dima Solomin / Unsplash

SSH 접속 시 텔레그램 알람보내기 최종편이다. 마무리만 남았는데도 손에 안잡혀서 미루다보니 거의 4달을 미룬거 같다. 숙제처럼 계속 남아있는 느낌이 들어서 마무리하려고 한다.


연관 포스트

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

A. .bashrc 변경

SSH로 접속하면 홈디렉토리에 .bashrc를 호출하게 되니 해당 파일에 지난 편에서 생성한 LoginAlarm.sh를 호출하는 구문을 추가하면 될 것 같다.

$ vi ~/.bashrc

.bashrc 파일의 가장 하단에 아래의 내용을 추가한다.

~/.telegram/LoginAlarm.sh

그 뒤에 새로운 ssh 세션을 열면 아래와 같이....

Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 6.2.0-36-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

Expanded Security Maintenance for Applications is enabled.

0 updates can be applied immediately.

Last login: Wed Nov 15 15:23:03 2023 from 10.100.42.27
{"ok":true,"result":{"message_id":141,"from":{"id":6215--8963,"is_bot":true,"first_name":"simplism-ssh-alarm","username":"simplism_ssh_alarm_bot"},"chat":{"id":55450--869,"first_name":"SIMPLISM","type":"private"},"date":1700031119,"text":"simplism-macmini(10.100.42.13) ssh session open! (user=simplism, ip=xx.xx.xx.xx, datetime=2023-11-15 (\uc218) 15:51:58)","entities":[{"offset":0,"length":17,"type":"bold"},{"offset":17,"length":12,"type":"url"},{"offset":17,"length":12,"type":"bold"},{"offset":29,"length":1,"type":"bold"},{"offset":68,"length":12,"type":"url"}]}}simplism@simplism-macmini:~$

Telegram 메시지를 발송하고 나온 결과 값이 출력되고, Telegram 메시지가 발송되기 전까지는 프롬프트가 입력되지 않는 문제가 있다.

B. 문제점 해결

두 가지의 문제점을 해결하기 위해서 호출하는 스크립트를 Background로 실행하고, curl로 호출한 결과를 숨기는 조치를 하려고 한다.

$ vi ~/.bashrc

다시 .bashrc 파일을 열어서 아래와 같이 변경한다.

(~/.telegram/LoginAlarm.sh&) > /dev/null 2>&1

위와 같이 LoginAlarm.sh -> LoginAlarm.sh&로 변경하면 해당 스크립트는 Background로 호출되니 curl 명령어가 실행이 완료되지 않더라도 즉시 프롬프트가 사용가능한 상태가 된다.

그리고 > /dev/null 2>&1 을 추가해서 화면에 curl 결과값이 출력되지 않도록 한다.

C. 마치면서..

내용이 너무 길어서 4편으로 나눠서 포스팅하는 것인데... 마지막 포스트는 생각보다 짧게 마무리된 것 같다.

사실 설명을 더 붙이면 좋을 것 같긴하지만 너무 사설이 길어지는 것 같아서 이 정도로 마무리하려고 한다.

LoginAlarm.sh에는 아주 핵심적인 내용만 포함된 것이라서 로그파일을 저장하거나 아니면 출력내용을 추가한다거나 하는 것은 사용하려는 사람의 취향에 맞추면 될 것 같다.

Read more

[F1] 2024년 시즌초반 감상평 및  팀별 단상

[F1] 2024년 시즌초반 감상평 및 팀별 단상

작년에 이어서 올해도 쿠팡플레이를 통해서 전 시즌 F1 중계를 볼 수 있다. 딱히 다른 스포츠에 대해서 관심이 유독 없는데... 홍대병(마이너 취향??)인건지 사이버포뮬러의 영향(어릴 때 많이 보고.. 어른이 되서도 몇 번을 다시 본 것 같음..)인 것인지 F1이 너무 재미있더라. 넷플릭스에서 F1 다큐시리즈(본능의 질주, 빈디젤이 나오는 분노의

By simplism
[Ubuntu] NFS 클라이언트 설치 및 NFS볼륨 마운트작업

[Ubuntu] NFS 클라이언트 설치 및 NFS볼륨 마운트작업

사용환경 * OS : Ubuntu 22.04 LTS (Jammy Jellyfish) * Dokuwiki : Release 2024-02-06a "Kaos" * NAS : Synology DSM 7.1.1 A. 시작하기 전에.. 미니PC에 dokuwiki 설치하고 본격적으로 운영하기 전에 정기적인 백업을 해야할 것 같다. 그렇다고... 수동으로 주기적으로 하기에는 너무 번거롭고.. 윈도우즈 PC에서 사용하던 백업솔루션이 ubuntu도 지원해서 그 백업솔루션을 설치하기 전에

By simplism
[Ubuntu] Hyper-V 2세대로 설치

[Ubuntu] Hyper-V 2세대로 설치

사용환경 * Host : Windows 10 Pro (22H2) * Guest : Ubuntu 22.04 LTS A. 시작하기 전에.. 업무상 윈도우즈를 사용할 수 밖에 없는데.. 여전히 Ubuntu가 필요해서 Hyper-V에 Ubuntu를 설치해서 사용하고 있다. 새로 Ubuntu 가상서버를 설치하면서 예전에는 가상서버를 1세대로 만들었었는데 2세대로 만들어보고 싶었다. 그래서 찾아보니... 우분투를 지원한다! 물론 호환표에 Ubuntu 22.04가 명기되어 있지는

By simplism