본문 바로가기

리눅스

리눅스 특정 TTY 세션 제외 후 전체 SSH 세션 종료 방법

반응형

리눅스 특정 TTY 세션 제외 후 전체 SSH 세션 종료 방법

운영 서버 작업 중 현재 접속 중인 SSH 세션은 유지하면서 나머지 사용자 세션만 강제로 종료해야 하는 경우가 있습니다.

예를 들어,

  • 오래된 SSH 세션 정리
  • 작업자 세션 초기화
  • 비정상 세션 강제 종료
  • 서버 점검 전 세션 정리

등의 상황에서 유용하게 사용할 수 있습니다.

1. 현재 접속 중인 내 세션 확인

현재 사용 중인 TTY 정보를 확인합니다.

tty

실행 결과

/dev/pts/5

현재 유지해야 할 세션은 pts/5 입니다.

2. 현재 로그인된 SSH 세션 확인

who -u

실행 결과

ubuntu pts/1  2026-04-23 11:36   ?   330593 (192.168.0.44)
ubuntu pts/3  2026-04-24 08:15   ?   375624 (192.168.0.44)
ubuntu pts/4  2026-05-13 15:09   .  1480384 (192.168.0.44)
ubuntu pts/5  2026-05-13 15:09   .  1480641 (192.168.0.44)

PID(Process ID) 확인

  • who -u 명령의 마지막 PID 컬럼을 기준으로 세션 프로세스를 종료할 수 있습니다.

3. 현재 세션 제외 후 전체 SSH 세션 종료

현재 세션(pts/5)을 제외한 나머지 세션을 강제 종료합니다.

who -u | grep -v "pts/5" | awk '{print $6}' | xargs -I{} kill -9 {}

실행 결과

 

현재 세션 자동 제외 방법

TTY 값을 변수로 받아 자동으로 제외할 수도 있습니다.

MYTTY=$(tty | awk -F/ '{print $NF}')

who -u | grep -v "$MYTTY" | awk '{print $6}' | xargs -I{} kill -9 {}

 

운영 중인 Linux 서버에서는 불필요한 SSH 세션 정리가 필요한 경우가 자주 발생합니다.

 

특히 현재 접속 중인 세션은 유지하면서 나머지 세션만 안전하게 종료하는 방법을 알아두면 운영 효율성과 안정성을 높일 수 있습니다.

 

참고URL

- 변군이글루 : 리눅스 터미널 세션을 확인하고 끊는 방법

 

728x90
반응형