Computer >> 컴퓨터 >  >> 스마트폰 >> Linux

리눅스에서 SSH 세션 자동 연결 해제를 막는 방법

원격 리눅스 서버에 SSH로 접속해 작업하다 보면, 잠시 커피 한 잔 하러 자리를 비운 사이에 세션이 끊겨버린 경험이 누구나 있을 것입니다. 이 글에서는 SSH 데몬 설정 파일을 수정해 유휴(idle) 상태일 때 서버가 세션을 강제로 종료하지 않도록 설정하는 방법을 소개합니다.

왜 SSH 세션이 끊길까?

SSH 연결을 열어둔 채 일정 시간 동안 아무 작업도 하지 않으면, SSH 서버는 해당 세션을 유휴 상태로 판단하고 연결을 강제로 종료합니다. 이는 기본적으로 보안을 위한 조치이지만, 사용자 입장에서는 다소 불편하게 느껴질 수 있습니다.

SSH 설정 파일 수정하기

먼저 원격 리눅스 서버에 SSH로 로그인한 뒤, SSH 설정 파일을 엽니다:

# vim /etc/ssh/ssh_config

파일 맨 아래에 다음 줄을 추가합니다:

ServerAliveInterval 60

파일을 저장하고 편집기를 종료합니다(vim 사용법이 필요하다면 관련 가이드를 참고하세요). 이어서 ~/.ssh/config 파일을 엽니다. 파일이 아직 없다면 새로 생성하세요. 그리고 다음 내용을 추가합니다:

Host *
  ServerAliveInterval 60

참고: 두 번째 줄 앞에는 반드시 공백을 넣어 들여쓰기를 해야 합니다.

SSH 서버 재시작

설정이 모두 완료되었다면 이제 SSH 서버를 재시작할 차례입니다. 다음 명령어를 실행하세요:

# /etc/init.d/sshd restart

명령은 1~2초 안에 완료되며, 이후 바로 정상적으로 작업을 계속할 수 있습니다.

동작 원리

핵심은 ServerAliveInterval 옵션입니다. 이 옵션을 설정하면 클라이언트가 지정된 시간(초 단위)마다 서버로 응답 확인 메시지를 전송합니다. 즉, 실제로 작업을 하지 않아도 주기적으로 신호를 주고받아 SSH 서버가 세션을 계속 활성 상태로 인식하게 만드는 것입니다. 결과적으로 짧은 커피 브레이크를 즐기는 동안에도 SSH 연결이 안전하게 유지됩니다.