제어 소켓이 이미 있고 "ControlMaster yes"인 경우 ssh가 실패합니다.

제어 소켓이 이미 있고 "ControlMaster yes"인 경우 ssh가 실패합니다.

나는 제어 호스트가 되고 싶은 세션으로 ssh를 호출하고 있으므로 -M플래그를 사용합니다(had와 동일 ControlMaster yes).

그러나 이전 세션이 실패하고 좀비 제어 파일이 남아 있으면 ssh는 로그만 기록 ControlSocket <control socket path> already exists, disabling multiplexing하고 계속 연결을 설정합니다. 이는 제어 소켓이 실제로 후속 세션을 위해 설정되지 않았음을 의미합니다( ControlMaster no).

내 스크립트가 문제를 감지하고 보고할 수 있도록 제어 소켓 파일이 이미 존재하는 경우 ssh가 실패하도록 하는 방법이 있습니까? 스크립트가 제어 파일을 확인하도록 할 수 있지만 스크립트가 제어 경로(호스트 별칭 및 ControlPath와 같은 SSH 구성 설정으로 인해 명확하지 않을 수 있음)를 사용해야 합니다.

이 질문은 다음과 관련이 있습니다. SSH 제어 소켓이 이미 존재하는 경우 어떻게 중단합니까?. 기존 제어 세션으로 인해 존재하는 제어 경로 파일에 대한 질문인데, 해당 문제는 이전 세션 실패로 인해 발생합니다. 또한 이 세션이 멀티플렉싱을 제어할 수 있도록 마스터 세션이 되기를 원합니다. 따라서 삭제만으로는 -M문제가 해결되지 않습니다. 감사해요!

관련 정보