웹사이트 검색

Linux에서 SSH 연결 시간 초과를 늘리는 방법


비활성으로 인한 SSH 시간 초과는 매우 짜증스러울 수 있습니다. 이로 인해 일반적으로 연결을 다시 시작하고 처음부터 다시 시작해야 합니다.

고맙게도 SSH 시간 초과 제한을 쉽게 늘리고 약간의 활동이 없는 후에도 SSH 세션을 활성 상태로 유지할 수 있습니다. 이는 서버나 클라이언트가 세션을 활성 상태로 유지하기 위해 다른 시스템에 널 패킷을 보낼 때 발생합니다.

관련 읽기: OpenSSH 서버를 보호하고 강화하는 방법

이제 Linux에서 SSH 연결 시간 초과를 늘리는 방법을 살펴보겠습니다.

SSH 연결 시간 초과 늘리기

서버에서 /etc/ssh/sshd_config 구성 파일로 이동합니다.

sudo vi /etc/ssh/sshd_config

스크롤하여 다음 매개변수를 찾습니다.


#ClientAliveInterval 
#ClientAliveCountMax

ClientAliveInterval 매개변수는 연결을 유지하기 위해 클라이언트 시스템에 널 패킷을 보내기 전에 서버가 대기하는 시간(초)을 지정합니다.

반면, ClientAliveCountMax 매개변수는 클라이언트로부터 메시지를 받지 않고 전송되는 클라이언트 활성 메시지 수를 정의합니다. 메시지가 전송되는 동안 이 제한에 도달하면 sshd 데몬이 세션을 삭제하여 SSH 세션을 효과적으로 종료합니다.

시간 초과 값은 위 매개변수의 곱으로 제공됩니다. 즉,

Timeout value = ClientAliveInterval * ClientAliveCountMax

예를 들어 다음과 같이 매개변수를 정의했다고 가정해 보겠습니다.


ClientAliveInterval  1200
ClientAliveCountMax 3

시간 초과 값은 1200초 * 3=3600초입니다. 이는 1시간에 해당하며, 이는 SSH 세션이 중단되지 않고 1시간의 유휴 시간 동안 활성 상태로 유지된다는 것을 의미합니다.

또는 ClientAliveInterval 매개변수만 지정하여 동일한 결과를 얻을 수 있습니다.


ClientAliveInterval  3600

완료되면 OpenSSH 데몬을 다시 로드하여 변경 사항을 적용합니다.

sudo systemctl reload sshd
결론

SSH 보안 조치로서 SSH 시간 초과 값을 큰 값으로 설정하지 않는 것이 항상 좋습니다. 이는 귀하가 장기간 자리를 비울 때 누군가 지나가다가 귀하의 세션을 가로채는 것을 방지하기 위한 것입니다. 이것이 바로 이 주제입니다.