![백업 스크립트에서 rsync를 사용할 때 간헐적으로 ssh_exchange_identification 오류가 발생하는 이유는 무엇입니까?](https://linux55.com/image/214594/%EB%B0%B1%EC%97%85%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20rsync%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EB%95%8C%20%EA%B0%84%ED%97%90%EC%A0%81%EC%9C%BC%EB%A1%9C%20ssh_exchange_identification%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%95%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
로컬에서 사용하는 백업 시스템이 있고 rsync 명령은 다음과 같습니다 rdiff-backup
.rsync
rsync -aP --delete-after /mnt/reos-storage-2/data_upload_backup/ [email protected]:/mnt/reos-storage-2/data_upload_backup_ed-mh-pi01
이것가끔다음 오류가 발생하고 백업이 원격 시스템에 복사되지 않습니다.
ssh_exchange_identification: Connection closed by remote host
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(235) [sender=3.1.3]
저는 이 ssh_exchange_identification
오류를 조사한 결과 여러 가지 이유가 원인일 수 있다는 사실을 발견했습니다. 가장 큰 이유는 SSH 연결이 너무 많기 때문입니다. 그러나 실행하는 동안 두 시스템 모두에 다른 활성 SSH 연결이 없어야 하며 최대 하나 또는 두 개의 다른 연결이 없어야 합니다. 이 예에서 "소스" 컴퓨터는 Raspian을 실행하는 Raspberry Pi이고 "대상" 서버는 Ubuntu 20.04입니다. rsync가 많은 연결을 생성하는지 궁금합니다.
어떻게 디버깅할 수 있나요? 오류의 가능한 원인은 무엇입니까?
답변1
sshd
오류 메시지에 "원격 호스트에 의해 연결이 닫혔습니다"라고 표시되므로 원격 호스트의 로그를 확인해야 합니다. 연결을 종료하기로 결정한 이유를 정확하게 설명하는 로그 메시지가 있어야 합니다 . 인증이 아직 완료되지 않았으므로 종료 이유가 클라이언트에 보고되지 않습니다. sshd
이 시점에서는 아직 인증되지 않았으며 악의적일 수 있습니다. 보안 조치를 우회하는 방법에 대해 잠재적인 공격자에게 조언을 제공하는 것은 그다지 현명하지 않을 것입니다. 그렇지 않습니까?
악의적인 SSH 로그인 시도의 과부하로 인해 sshd
문제가 발생할 수도 있습니다(커널 및 버전, 시스템에 사용 가능한 엔트로피/임의성 소스에 따라 다름). 일반적으로 커널의 엔트로피 풀이 고갈되어 시스템이 암호화된 보안 난수를 생성할 수 없게 됩니다. : 세션 키가 충분히 빠릅니다.