SSH가 끊겨도 에이전트는 계속 돌게 — tmux

tmuxlinuxterminal

안녕하세요! 재니미입니다.

SSH로 접속해서 claude를 그냥 실행하면, 연결이 끊기는 순간 프로세스도 같이 죽습니다. 그런데 서버에 SSH로 계속 붙어 있을 수는 없습니다. 네트워크가 잠깐 끊기거나, 터미널을 닫거나, 다른 작업을 하러 자리를 비우는 순간 작업 중이던 에이전트가 그대로 증발해버리는데요. tmux 세션 하나만 있으면 이 문제가 사라집니다.

설치

sudo dnf install -y tmux   # RHEL 계열

핵심은 세 단계뿐입니다

# 1. 이름 있는 세션 생성
tmux new -s agent

# ── 세션 안에서 claude 실행 ──

# 2. 빠져나오기 (Detach) — 작업은 백그라운드에서 계속 돕니다
#    Ctrl+b 누르고 손 뗀 다음 곧바로 d — 생각보다 빠르게 눌러야 인식된다

# 3. 나중에 다시 붙기 (Attach)
tmux attach -t agent

SSH 연결이 끊겨도, 화면을 껐다 켜도, 다른 기기로 붙어도 tmux attach -t agent 한 줄이면 하던 작업이 그대로 돌아옵니다.

자주 쓰는 명령어

목적 명령어
세션 목록 확인 tmux ls
특정 세션 재접속 tmux attach -t <이름> (tmux a -t <이름>)
가장 최근 세션 바로 접속 tmux a
세션 종료 tmux kill-session -t <이름>

알아두면 좋은 단축키

모두 Ctrl+b를 먼저 누르고 손을 뗀 다음 입력합니다. 이때 뜸을 들이면 인식되지 않으니, 생각보다 빠르게 이어서 눌러야 합니다.

  • d — Detach
  • % / " — 화면 좌우 / 상하 분할
  • 방향키 — 분할 화면 간 이동
  • z — 현재 분할 최대화/복귀 토글
  • c — 새 창 생성, n/p — 다음/이전 창

실제로 이렇게 씁니다

tmux new -s agent
claude   # 에이전트 세션 시작
# Ctrl+b → d 로 빠져나오고 접속 종료

며칠 뒤 다시 접속해도:

tmux a -t agent

에이전트가 그때 그 화면 그대로 남아 있습니다. 이것만 알고 가셔도 큰 도움이 되실 겁니다.

다음 글에서는 이 위에 Claude Code를 올리고 원격/모바일로 제어하는 과정을 다루겠습니다.

감사합니다.