빠르고 연속적인 SSH 연결 시도가 중단됨

빠르고 연속적인 SSH 연결 시도가 중단됨

.NET을 사용하여 작은 파일을 연속적으로 복사하는 bash 스크립트가 있습니다 scp. 따라서 scp이 스크립트에는 많은 명령이 있습니다 . SSH 키를 사용하여 다른 서버를 인증하고 있습니다.

파일이 너무 작기 때문에 SSH 연결 시도는 매우 빠르게 발생하고 스크립트까지 전혀 멀지 않아 scp무기한 중단됩니다.

  • 오류가 발생하지 않았습니다.
  • 네트워크 장비는 방정식에서 제거되었으며 서버는 동일한 서브넷에서 실시간으로 통신합니다.
  • rsync문제 도 시연되었습니다 .

이러한 scp 호출 사이에 1초가 배치 되면 sleep스크립트가 중단 없이 원활하게 실행됩니다.

이 명백한 속도 제한을 어디서 찾아야 합니까? 다른 서버에서는 이런게 안보이네요...

답변1

가끔 설정하는 사람들도 있음iptables를 사용한 속도 제한.

OpenSSH에는 MaxStartups수신 클라이언트에 대해 일부 속도 제한을 수행하는 옵션이 있습니다. 기본값(적어도 내 컴퓨터에서는)은 10:30:100.

남자 sshd_config

또는 콜론으로 구분된 세 개의 값 start:rate:full(예: "10:30:60")을 지정하여 임의 조기 삭제를 활성화할 수 있습니다. sshd(8)는 현재 시작(10)개의 인증되지 않은 연결이 있는 경우 비율/100(30%)의 확률로 연결 시도를 거부합니다. 인증되지 않은 연결 수가 가득 차면(60개) 확률은 선형적으로 증가하며 모든 연결 시도가 거부됩니다.

OpenSSH 연결 지연의 또 다른 일반적인 문제 및 원인은 연결 시도 시 수신 IP 주소의 역방향 조회를 시도하는 OpenSSH 서버의 기능과 관련이 있습니다. 나는 더 이상 거의 아무도 사용하지 않는 오래된 rhost 호환 인증 방법과의 호환성을 위해 이 DNS 기능이 필요하다고 생각합니다. 어쨌든 DNS 확인 기능은 DNS 확인자가 잘못 구성되었거나 손상된 확인자를 사용하도록 구성되었거나 클라이언트 IP가 연결되는 역방향 영역에 대한 내용이 손상된 경우 문제를 일으킬 수 있습니다.

이상적으로 대답은 DNS를 수정하고 DNS가 항상 오류 없이 작동하고 빠르게 응답하는지 확인하는 것입니다. 그러나 DNS 확인이 필요하지 않은 경우 여기서 빠른 해결 방법은 서버가 이름 확인을 시도하는 것을 중지하는 것입니다. .UseDNS nosshd_config

관련 정보