활성 TMUX 세션이 있는데도 원격 연결이 작동하지 않는 이유는 무엇입니까?

활성 TMUX 세션이 있는데도 원격 연결이 작동하지 않는 이유는 무엇입니까?

저는 Linux를 사용한 지 몇 달밖에 되지 않았고 아직 초보이기 때문에 잘못된 용어를 사용했다면 사과드립니다. 저는 Arch를 실행 중이고 원격 시스템은 Manjaro에 있습니다.

나는 SSH를 통해 (터널 프록시를 통해) 원격으로 연결된 연구 부서의 컴퓨터에서 실험을 실행해 왔습니다. 코드를 실행하기 전에 TMUX 세션을 시작하고 필요한 Conda 환경에 들어갑니다. 코드를 실행한 후 TMUX 세션의 연결을 끊고 가끔 체크인합니다. 저는 몇 달 동안 이 작업을 수행해 왔으며 며칠 동안 아무런 문제 없이 코드를 실행할 수 있습니다.

하지만 지난 며칠 동안 20~40분 후에 연결이 끊어졌습니다.

Connection to exampleserver.com closed by remote host.
Connection to exampleserver.com closed.

이런 일은 매번 발생합니다. 이 문제의 원인이 무엇인지 잘 모르겠습니다. 부서에서 기계를 관리하는 사람에게 물어보니 SSH 구성에서 ServerAliveInterval을 조정하라고 하더군요. TMUX가 내 세션을 관리하면 안 되나요? 더 이상 세션 연결 끊김을 방지하지 않으려면 어떻게 해야 합니까?

어떤 도움이라도 대단히 감사하겠습니다! 불행하게도 나는 이 기계에 접근하지 않으면 일을 할 수 없습니다.

답변1

일반적으로 SSH 서버는 기본적으로 일정 기간 동안 데이터를 보내거나 받지 않은 연결을 삭제하도록 구성됩니다. 클라이언트가 죽었거나 연결이 끊어졌다고 가정합니다.

top또는 등의 트래픽 흐름을 유지하는 작업을 실행하여 이를 방지할 수 있습니다 cmatrix. SSH 프로토콜에는 연결을 유지하는 덜 해킹적인 방법이 포함되어 있습니다. 파일 에 다음을 추가합니다 ~/.ssh/config.

Host *
    ServerAliveInterval 10
    ServerAliveCountMax 12

ServerAliveCountMax네트워크 연결이 매우 불안정한 경우 이 값을 늘리십시오.

관련 정보