ServerAliveInterval의 기본값은 무엇입니까?

ServerAliveInterval의 기본값은 무엇입니까?

저는 아마존 리눅스를 사용하고 있는데,

[davea@mymachine ~]$ uname -a
Linux mymachine.mydomein.org 4.4.35-45.83.amzn1.x86_64 #1 SMP Wed Jul 27 22:37:49 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

내 /etc/ssh/sshd_config에는 "ServerAliveInterval"에 대해 설정된 값이 없습니다. 이 답변에서 -sshd_config의 `ServerAliveInterval` 및 `ClientAliveInterval` 옵션은 정확히 무엇을 합니까?, 그들은 "값을 0(기본값)으로 설정하면 이러한 기능이 비활성화되므로 너무 오랫동안 유휴 상태이면 연결이 끊어질 수 있습니다"라고 말합니다. 그게 무슨 뜻이야? 정확히 이 매개변수가 제출되면 연결이 활성 상태로 유지되는 기본 시간은 언제입니까? 클라이언트 측에서 "1000000000000" 값을 설정했다고 가정해 보겠습니다.

답변1

의 가치서버 활동 간격이는 "이 시간 내에 서버로부터 데이터가 수신되지 않으면 서버에 NULL 메시지를 보낸다"는 의미입니다.

비슷하게,클라이언트 활동 간격이는 "이 시간 내에 클라이언트로부터 데이터가 수신되지 않으면 클라이언트에 NULL 메시지를 보낸다"는 의미입니다.

기본값은 일반적으로 0이러한 기능이 비활성화되어 있음을 의미합니다.

이것의 주요 목적은 중간 라우터와 방화벽이 세션이 유휴 상태라고 생각하여 삭제하는 것을 방지하는 것입니다. SSH 서버 자체에는 실제 영향을 미치지 않습니다.

예를 들어, 많은 가정용 NAT 라우터는 특정 시간이 지나면 유휴 세션을 삭제합니다(라우터에 따라 다르지만 값 범위는 1시간에서 21일 이상입니다). 설정을 사용하면 ServerAliveInterval항상 라우터의 유휴 시간 초과를 확인하여 가짜로 만들 수 있습니다.일부라우터 간격 내의 트래픽입니다.

답변2

허용된 답변 외에도 ServerAliveInterval을 1조(귀하의 질문에서와 같이)로 설정하면 32비트 OpenSSH 클라이언트에서 "잘못된 시간 값" 오류가 발생할 수 있습니다. 이것을 테스트할 32비트 클라이언트가 없지만 64비트 클라이언트를 사용하여 간격을 2^63 = 9223372036854775808 이상으로 설정할 때 이 오류 메시지가 나타납니다.

1조 초는 31,709년에 해당합니다. 서버 활동 메시지가 전송되는 것을 원하지 않으면 기본 설정인 0으로 두어 이 기능을 끄십시오.

또한 허용된 답변의 정보를 고려하여 이 기능을 사용하려면 ServerAliveInterval을 3600보다 낮게 설정해야 할 수도 있습니다.

관련 정보