SSH 세션에서 "깨진 파이프" 메시지는 무엇을 의미합니까?

SSH 세션에서 "깨진 파이프" 메시지는 무엇을 의미합니까?

가끔 SSH 세션이 Write failed: Broken pipe메시지와 함께 연결이 끊어지는 경우가 있습니다. 무슨 뜻이에요? 세션을 계속 열어두려면 어떻게 해야 하나요?

알아요 screen. 하지만 그건 제가 원하는 답이 아닙니다. 나는 이것이 sshd구성 옵션이라고 생각합니다.

답변1

서버가 너무 오랫동안 유휴 상태였던 연결을 닫을 수 있습니다. 클라이언트( ServerAliveInterval) 또는 서버( ClientAliveInterval) 를 업데이트할 수 있습니다.

 ServerAliveInterval
         Sets a timeout interval in seconds after which if no data has
         been received from the server, ssh(1) will send a message through
         the encrypted channel to request a response from the server.  The
         default is 0, indicating that these messages will not be sent to
         the server.  This option applies to protocol version 2 only.

 ClientAliveInterval
         Sets a timeout interval in seconds after which if no data has
         been received from the client, sshd(8) will send a message
         through the encrypted channel to request a response from the
         client.  The default is 0, indicating that these messages will
         not be sent to the client.  This option applies to protocol
         version 2 only.

서버를 업데이트하고 다시 시작하세요 sshd.

echo "ClientAliveInterval 60" | sudo tee -a /etc/ssh/sshd_config

또는 클라이언트:

echo "ServerAliveInterval 60" >> ~/.ssh/config 

답변2

더 긴 연결 시간을 원하면 클라이언트 측에 다음을 추가하세요.

echo 'ServerAliveInterval 30' | tee -a ~/.ssh/config
echo 'ServerAliveCountMax 1200' | tee -a ~/.ssh/config

ServerAliveCountMax기본적으로 이 값은 3으로 설정됩니다. 따라서 ServerAliveInterval3개의 정보 패킷이 서버로 전송되면 자동으로 로그아웃됩니다. 1200으로 설정하면 이 프로세스가 최소 1200번 발생해야 함을 의미합니다. 즉, 최소 30*1200초(10시간) 동안 연결되어 있어야 합니다.

답변3

또 다른 해결책은 다음을 사용하는 것입니다.mosh- 핸드폰 케이스. SSH에 비해 UDP를 통해 연결하고 로밍을 지원합니다. 집에서 세션을 시작하고, 노트북을 일시 중지하고, 인터넷이 연결된 직장/친구/어디서든 가져갈 수 있습니다. 노트북의 일시 중지를 해제하고 아무 일도 없었던 것처럼 작업을 계속할 수 있습니다. 인터넷 연결이 좋지 않은 경우 특히 유용합니다. 키 입력이 서버에 도달하지 않으면 즉시 피드백을 표시하고 지속적으로 연결을 재설정하려고 시도합니다.

설치 및 설정은 간단합니다. 이제 모든 최신 Linux(및 일부 비 Linux 배포판)에 포함되어 있으며 이전 SSH 연결을 통해 세션 초기화 및 인증을 조정합니다. 따라서 via를 통해 연결할 수 있고 양쪽 끝에 mosh 패키지가 설치되어 있으면 ssh user@server호출만으로 mosh에 연결할 수 있을 가능성이 높습니다.mosh user@server

연결 실패의 주요 원인은 mosh가 제대로 작동하려면 UDP 포트(기본 범위: 60000-61000)를 통해 서버에 액세스해야 하기 때문입니다. 따라서 서버가 방화벽 뒤에 있는 경우 직접 구멍을 뚫을 수 없다면 운이 없는 것입니다(보안 영향).

답변4

이는 일반적으로 네트워크(TCP) 연결이 재설정되었음을 의미합니다. 예를 들어, 귀하의 인터넷 제공업체가 귀하를 다시 연결했거나 이와 유사한 것입니다.

관련 정보