왜 ssh 세션이 시간이 지나면 정지됩니까? [닫은]

이것이이 질문을하기에 적합한 장소가 아니라면 사과드립니다.

나는 정기적으로 다른 서버로 ssh해야합니다. 이제 내 가정용 컴퓨터 (리눅스 민트)에서 ssh를 통해 연결할 때 일정 시간 동안 사용하지 않으면 ssh 셸이 멈추고 다시 가져올 수있는 방법이 없습니다. 내가 할 수있는 유일한 것은 ‘~.’입니다. 최소한 시작 쉘을 돌려줍니다.

다른 위치에서 동일한 서버로 로그인하면 문제가 없습니다. ISP에 문제가 될 수 있습니까? 이것에 대해 어떻게 더 조사 할 수 있습니까?

동결 후 ssh 연결을 다시 설정하고 내가 있던 곳으로 이동하여 작업을 다시 시작해야하기 때문에 정말 짜증납니다. 감사



답변

일정 기간 사용하지 않으면 NAT가 TCP 소켓을 삭제합니다.

ssh 클라이언트는 선택적으로 주기적 noops를 서버에 보내이 문제를 제거 할 수 있습니다. 이렇게하려면 이것을 다음에 추가하십시오 ~/.ssh/config.

Host *
  ServerAliveInterval 60

또는 현재 상태 테이블에서 항목이 빨리 만료되지 않도록 NAT를 다시 구성하십시오.


위의 것 외에도 GNU Screen 또는 tmux와 같은 세션에 터미널 멀티플렉서를 사용해야합니다. 둘 중 하나를 사용하면 연결이 끊어진 경우 세션을 복구 할 수 있습니다.


답변

제 경우에는 문제가 큰 MTU 크기였습니다. NAT를 사용하는 경우 라우터에서 MTU를 변경할 수 있지만 서버에서 MTU를 변경합니다.

sudo /sbin/ifconfig eth0 mtu 1036
sudo /etc/init.d/networking restart

Windows에서는이 키를 늘릴 수도 있습니다.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpMaxDataRetransmissions"=dword:00000010


답변