백업 스크립트에서 rsync를 사용할 때 간헐적으로 ssh_exchange_identification 오류가 발생하는 이유는 무엇입니까?

백업 스크립트에서 rsync를 사용할 때 간헐적으로 ssh_exchange_identification 오류가 발생하는 이유는 무엇입니까?

로컬에서 사용하는 백업 시스템이 있고 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문제가 발생할 수도 있습니다(커널 및 버전, 시스템에 사용 가능한 엔트로피/임의성 소스에 따라 다름). 일반적으로 커널의 엔트로피 풀이 고갈되어 시스템이 암호화된 보안 난수를 생성할 수 없게 됩니다. : 세션 키가 충분히 빠릅니다.

관련 정보