몇 분 동안 활동이 없으면 SSH 연결이 계속 끊어집니다.

몇 분 동안 활동이 없으면 SSH 연결이 계속 끊어집니다.

내 PC에서 SSH를 통해 Virtualmin을 통해 Debian 9에 연결하고 있습니다. +-2분 동안 나갔다가 돌아왔을 때 SSH 연결이 끊어졌습니다. 서버와 클라이언트에서 SSH 구성을 변경해 보았습니다. 아무것도 도움이 되지 않았습니다. 문제를 어디서 검색해야 합니까? 네트워크나 라우터의 일부 설정이 아닐까요?

답변1

일부 지나치게 열성적인 라우터는 너무 오랫동안 유휴 상태(즉, 데이터를 전송하지 않음)인 TCP 연결을 삭제하는 것을 좋아합니다. 이는 아마도 사용자가 일반적으로 단일 쿼리가 완료된 후 연결이 닫히는 HTTP와 같은 것을 사용한다고 가정하기 때문일 것입니다.

OpenSSH를 가정하고 ClientAliveIntervalClientAliveCountMax지시문을 사용하십시오.존재하다sshd_config또는 클라이언트 구성에서 프로토콜 수준 연결 유지 패킷을 활성화합니다 ServerAliveInterval( 또는 ServerAliveCountMax) ~/.ssh/config./etc/ssh/ssh_config

이는 실제로 원격 호스트가 떠났는지 감지하기 위한 것이지만 연결이 유휴 상태일 때 메시지가 전송되도록 하기 때문에 외부 장치가 연결을 유휴 상태로 처리하는 것을 방지합니다.

*AliveInterval클라이언트/서버가 원격지에 쿼리를 보낸 후의 시간 간격(초)을 설정하고, *AliveCountMax클라이언트/서버가 연결이 비활성화된 것으로 간주한 후 응답하지 않은 쿼리 수를 설정합니다.

다음과 같은 값이 수행되어야 합니다.

ClientAliveInterval 15
ClientAliveCountMax 4

답변2

내 Asus DSL-N66U는 수년 동안 이 작업을 수행해 왔으며 오늘 내 문제를 해결하는 설정을 찾았습니다. 그래서 저는 문제를 자세히 설명하고 다른 사람들이 찾을 수 있기를 바라며 인터넷 어딘가에서 수정하고 싶습니다.

SSH, HTTP, HTTPS, IMAP, IMAPS, SMTP, SMTPS, MQTT 모든 포트 전달/핀홀이 있는 로컬 서버를 호스팅합니다.

고정 IP와 고정 IP와 연결된 도메인 이름이 있으므로 도메인 이름이 있는 일반 홈 서버입니다.

내부 네트워크의 도메인 이름을 사용하여 서버에 연결하면 잠시 후 연결이 끊어집니다. 이로 인해 SSH, IMAP, MQTT 또는 소켓을 열어두는 방법을 사용할 수 없습니다. Asus DSL-N66U의 솔루션은 다음을 변경하는 것입니다.

LAN -> Switch Control -> NAT Acceleration도착하다Disabled

관련 정보