[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

[Oracle] DB계정 생성 시 참고사항

[Oracle] DB계정 생성 시 참고사항

사용환경 * Oracle DBMS : 19c (19.3) A. 시작하기 전에.. 최근에 몇 개의 DB서버를 셋팅하면서 DB계정을 생성할 일이 많이 있었는데 루틴하게 수행하던 쿼리에 약간 의문이 생겨서 몇 가지 테스트를 해봤다. 그 내용을 잘 기억하기 위해서 정리해서 적어본다.(누군가한테 도움이 될 수도 있지만 실제론... 이렇게 블로그 포스트로 만들다보면 결국 내 기억에 각인이

By simplism
[Linux] Mariadb Docker container 설치

[Linux] Mariadb Docker container 설치

A. 사용환경 * OS : Rocky Linux 9.5 (Blue Onyx) * Docker : 28.0.4 * Portainer : 2.27.3 LTS B. 시작하기 전에... 어떤 소프트웨어를 사용하더라도 보통 Database는 거의 필수로 필요한 편이다.(요즘엔 SQLite도 많이써서... DB서버가 없어도 되긴하지만 어쨌든!) 업무적으로 사용할 소프트웨어들을 몇개 검토해봤는데, 대부분이 MySQL, Mariadb, PostgreSQL이더라. 일단, 바로 설치해서 사용해볼

By simplism
[Linux] Docker에 Portainer 설치

[Linux] Docker에 Portainer 설치

A. 사용환경 * OS : Rocky Linux 9.5 (Blue Onyx) * Docker : 28.0.4 B. Portainer란? docker를 사용할 때 명령어 기반으로 사용해도 되지만... 여전히 GUI는 필요하다.(ㅎㅎ) Portainer를 간단하게 설명하면 docker 관리소프트웨어(웹기반)정도로 이해해도 된다. Portainer 공식 홈페이지에서 확인해보면 기능이 아주 많은 것 같은데... 사실 나의 경우에는 아주 단순한 기능만

By simplism