ssh 연결 타임 아웃 지정(ssh connection timeout)


ssh 는 보안을 위해서 일정 시간동안 사용이 없으면 자동으로 세션을 종료하는 세션 타임아웃(session timeout) 기능이 있습니다.


하지만 RHEL/CentOS 나 Ubuntu 를 설치하면 세션 타임아웃이 설정되어 있지 않으므로 무제한으로 연결이 지속되며 이는 보안상 매우 취약합니다.


다음 설정으로 ssh 세션 타임아웃 시간을 설정할 수 있습니다.


먼저 ssh daemon 설정 파일을 편집기로 엽니다.

vi /etc/ssh/sshd_config


타임 아웃에 관련된 설정은 아래 2 항목이며 세션 타임아웃은 (ClientAliveInterval * ClientAliveCountMax) 값만큼 지속되며 단위는 초입니다.

#ClientAliveInterval 0
#ClientAliveCountMax 3

즉 아래와 같이 설정했을 경우 600 * 3 = 1,800 이며 이는 30분이므로 30분동안 사용하지 않으면 ssh daemon 은 자동으로 연결을 끊어 버립니다.

ClientAliveInterval 600
ClientAliveCountMax 3

적절한 타임아웃 설정을 했으면 다음 명령어로 sshd 를 재시작하면 반영됩니다.


sudo systemctl restart ssh