SSH 클라이언트와 서버의 연결이 끊어진시기를 어떻게 감지합니까? 클라이언트와의 연결이 중단되면 (클라이언트가 연결 끊기 명령을 보내지 않음) 서버 응용 프로그램은 표준 입력을 통해 문자 0xFF를받습니다. sshd_config에서 KeepAlive 및 ClientAlive 매개 변수를 사용하려고 시도하지만 연결이 닫히지 않습니다 (SIGHUP, SIGTERM 또는 기타 신호는 수신되지 않음).
반면에 끊어진 연결을 닫으려면 어떻게해야합니까? 여러 연결이 설정되어 있고 다른 연결이 제대로 작동합니다. SSH 서버를 다시 시작하는 것은 해결책이 아닙니다.
ssh 클라이언트가 애플리케이션에 정확히 어떻게 연결되어 있습니까?
—
Kenster
sshd (또는 사용하는 ssh 데몬)가 이벤트를 기록하는 자세한 정보를 늘려 볼 수 있으며 열려있는 경우 원하는 이벤트를 나타내는 해당 이벤트에 대한 시스템 로그를 구문 분석하십시오.
—
James Lui
클라이언트 연결 방법은 중요하지 않습니다. 로컬 호스트에 연결하는 Linux ssh 클라이언트를 사용하더라도.
—
mauricio
로그 내용 :-sshd [26227] : 10.0.0.1 포트에서 xxxxx에 대해 키보드 대화 형 / pam을 허용 함 47537 ssh2 sshd [26227] : pam_unix (sshd : session) : (uid = 0)에 의해 사용자 xxxxx에 대한 세션이 열림- sshd [26230] : 10.0.0.1과의 연결 끊김 수신 : 11 : sshd와의 연결 끊김 [26227] : pam_unix (sshd : session) : 사용자 xxxxx에 대한 세션 종료-물론 모든 신호 수신 ...
—
mauricio
나는 당신이 실제로 0xFF를 얻지 못한다는 재미있는 느낌을 가지고 있지만 읽기는 -1 (EOF)을 반환하고 서명되지 않은 char로 캐스팅하고 0xFF를 제공합니다. 코드를 확인하고이 가능성을 배제하십시오.
—
aecolley