본문 바로가기
  • 철은 두드릴수록 강해지고 사람은 굴릴수록 강해진다.
Common/Linux

SSH로 서버 접속부터 systemd 자동 실행까지

by jangddu 2025. 8. 19.

 

 

 

 

 

 

 

 

 

회사에서 여러 서버에 접속하고,

프로세스를 항상 켜둬야 하는 상황이라면 매번 긴 명령어를 입력하는 게 번거롭다.
SSH 접속을 간편하게 만들고,

systemd를 이용해 서버가 리부트되더라도 자동으로 실행되는 서비스 등록까지,

고양이 상점 마켓 예시로 정리하였다.

 

 

 

 

 

 

1️⃣ SSH config 등록으로 접속 단축하기

고양이 상점에는 여러 서버가 있다.

예를 들어 고양이웹서버와 고양이DB서버에 자주 접속한다고 해보자.

설정 파일 만들기

리눅스라면:

vi ~/.ssh/config

 

윈도우라면:

notepad C:\Users\<YourUsername>\.ssh\config

설정 예시

Host catweb
    HostName 123.45.67.89
    User catadmin
    Port 22
    IdentityFile ~/.ssh/catshop_prod.pem

Host catdb
    HostName 123.45.67.90
    User catadmin
    Port 22
    IdentityFile ~/.ssh/catshop_prod.pem

권한 설정

chmod 600 ~/.ssh/config 
chmod 400 ~/.ssh/*.pem

접속하기

ssh catweb ssh catdb

👉 이렇게 하면 매번 긴 명령어 대신 별칭(catweb, catdb)만 입력하면 끝!

 

 

 

 

2️⃣ 실행할 스크립트 만들기

고양이 상점에서는 매일 아침 상품 재고 확인 스크립트를 돌려야 힌다.

이걸 .sh 파일로 만들어보겠다.

/home/catshop/scripts/start_catshop.sh

#!/bin/bash

PYTHON_BIN="/home/catshop/venv/bin/python"

$PYTHON_BIN /home/catshop/app/check_inventory.py --category fish --mode prod &
PID1=$!
$PYTHON_BIN /home/catshop/app/check_inventory.py --category toys --mode prod &
PID2=$!

wait $PID1
wait $PID2

실행 권한 주기:

chmod +x /home/catshop/scripts/start_catshop.sh

 

 

 

 

 

3️⃣ systemd 서비스 등록

이제 이 스크립트를 서버가 켜질 때마다 자동으로 실행되도록 등록힌다.

/etc/systemd/system/catshop.service

 
[Unit]
Description=Catshop Inventory Checker
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/catshop/app
ExecStart=/usr/bin/bash /home/catshop/scripts/start_catshop.sh
User=catshop
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

 

 

 

 

4️⃣ 서비스 실행 및 확인

서비스를 실행하고 확인한다.

sudo systemctl daemon-reload
sudo systemctl start catshop.service
sudo systemctl status catshop.service

👉 로그 확인:

sudo journalctl -u catshop.service -f

 

 

 

 

5️⃣ 부팅 시 자동 실행 등록

리부트해도 자동 실행되도록 설정한다.

sudo systemctl enable catshop.service

 

등록 확인:

systemctl list-unit-files --type=service | grep catshop.service

👉 서버를 재부팅한 뒤에도 서비스가 잘 실행되는지 확인하면 끝!!

 

 

 

 

6️⃣ 중단하거나 삭제할 때

 
sudo systemctl stop catshop.service      # 서비스 중단
sudo systemctl disable catshop.service   # 자동 실행 해제
sudo rm /etc/systemd/system/catshop.service  # 서비스 파일 삭제

 

 

 

 

✅ 마무리

SSH config 등록으로 간편 접속 → 실행 스크립트 작성 → systemd 등록 및 자동 실행까지 전 과정을 정리했다.

이제 매번 명령어를 일일이 입력하지 않아도, 자동으로 안정적으로 동작할 수 있다. 🐱

 

 

 

 

'Common > Linux' 카테고리의 다른 글

Bash & Zsh 커스터마이징 가이드  (9) 2025.08.29
자주 쓰는 파일 전송 명령어: rsync vs scp  (8) 2025.08.18
nohup, cron, pm2 사용법 정리  (12) 2025.08.06